Implementation for copay distribution sass.
This commit is contained in:
parent
52a690e31e
commit
73a06b595f
105 changed files with 1150 additions and 480 deletions
|
|
@ -8,7 +8,7 @@
|
|||
<g id="Wallet/Icon/Import" transform="translate(0.000000, -1.000000)">
|
||||
<g id="arrows-24px-outline-2_square-download" transform="translate(-1.000000, 0.000000)">
|
||||
<g id="Group" transform="translate(0.500000, 0.500000)">
|
||||
<ellipse id="Oval-87" fill="#647CE8" cx="25.6597034" cy="25.694296" rx="25.1597034" ry="25.194296"></ellipse>
|
||||
<ellipse id="Oval-87" fill="none" cx="25.6597034" cy="25.694296" rx="25.1597034" ry="25.194296"></ellipse>
|
||||
<path d="M16,29 L16,32 C16,33.6568542 17.343312,35 18.9942021,35 L33.0057979,35 C34.6594501,35 36,33.6534829 36,32 L36,29" id="Shape" stroke="#FFFFFF"></path>
|
||||
<path d="M26,15 L26,30" id="Shape" stroke="#FFFFFF"></path>
|
||||
<polyline id="Shape" stroke="#FFFFFF" points="20 24 26 30 32 24"></polyline>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
|
@ -14,7 +14,7 @@
|
|||
<ion-content scroll="false" id="add-address" ng-show="isEmptyList">
|
||||
<div class="zero-state">
|
||||
<i class="icon zero-state-icon">
|
||||
<img src="img/address-book-add.svg"/>
|
||||
<img class="svg" src="img/address-book-add.svg"/>
|
||||
</i>
|
||||
<div class="zero-state-heading" translate>No contacts yet</div>
|
||||
<div class="zero-state-description" translate>Get started by adding your first one.</div>
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
<div class="item item-text-wrap item-icon-left bitcoin-address">
|
||||
<i class="icon big-icon-svg" ng-if="recipientType == 'wallet'">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': toColor}" class="bg"/>
|
||||
<img src="img/icon-wallet.svg" ng-class="{'wallet-background-color-default': !toColor}" ng-style="{'background-color': toColor}" class="bg"/>
|
||||
</i>
|
||||
<span ng-if="recipientType == 'contact'">
|
||||
<i class="icon big-icon-svg" ng-if="isChromeApp">
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
<div class="label">From</div>
|
||||
<div class="wallet">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}" class="bg">
|
||||
<img src="img/icon-wallet.svg" ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color': wallet.color}" class="bg">
|
||||
</i>
|
||||
{{wallet ? wallet.name : '...'}}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
<div class="label">Receive in</div>
|
||||
<div class="wallet">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}" class="bg">
|
||||
<img src="img/icon-wallet.svg" ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color': wallet.color}" class="bg">
|
||||
</i>
|
||||
{{wallet ? wallet.name : '...'}}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@
|
|||
<span class="label" translate>From</span>
|
||||
<div class="wallet" ng-if="wallet">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||
<img src="img/icon-wallet.svg" ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||
</i>
|
||||
<div>{{wallet.name}}</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
</button>
|
||||
</div>
|
||||
<div class="half-row left">
|
||||
<button ng-click="accept()" class="round expand" ng-style="{'background-color': color}" autofocus>
|
||||
<button ng-click="accept()" class="round expand" ng-class="{'wallet-background-color-default': !color}" ng-style="{'background-color': color}" autofocus>
|
||||
<span class="size-12" translate>Confirm</span>
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
|
||||
<p class="wallet-activity-note">
|
||||
<!-- {{notification.types}} -->
|
||||
<i class="icon ion-record wallet-activity-note-child" ng-style="{'color':notification.wallet.color}"></i>
|
||||
<i class="icon ion-record wallet-activity-note-child" ng-class="{'wallet-color-default': !notification.wallet.color}" ng-style="{'color':notification.wallet.color}"></i>
|
||||
<span ng-if="notification.creatorName" class="wallet-activity-note-child">{{ notification.creatorName}}@</span>
|
||||
<span class="wallet-activity-note-child">{{notification.wallet.name}}</span>
|
||||
<time class="wallet-activity-note-child">{{ notification.createdOn * 1000 | amTimeAgo}}</time>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<div class="wallet-item">
|
||||
<i class="icon big-icon-svg circle">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||
<img src="img/icon-wallet.svg" ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||
</i>
|
||||
<div class="name">
|
||||
{{wallet.name || wallet.id}}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
ng-click="selectWallet(w)"
|
||||
>
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': w.color}" class="bg">
|
||||
<img src="img/icon-wallet.svg" ng-class="{'wallet-background-color-default': !w.color}" ng-style="{'background-color': w.color}" class="bg">
|
||||
</i>
|
||||
<div class="wallet-inner">
|
||||
<div class="wallet-details">
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<div class="card" ng-click="slider.slideTo($index)">
|
||||
<div class="item item-icon-left text-right" ng-class="{'noBalance': !wallet.status.availableBalanceStr}">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||
<img src="img/icon-wallet.svg" ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||
</i>
|
||||
<span class="wallet-name">{{wallet.name || wallet.id}}</span>
|
||||
<span class="item-note m10l" ng-if="!wallet.balanceHidden">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<ion-modal-view id="terms-of-use">
|
||||
<ion-nav-bar class="bar-ligt">
|
||||
<ion-nav-bar>
|
||||
<ion-nav-title>{{'Terms of Use' | translate}}</ion-nav-title>
|
||||
<ion-nav-buttons side="primary">
|
||||
<button class="button no-border" ng-click="termsModal.hide()">
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@
|
|||
<span class="label" translate>From</span>
|
||||
<div class="wallet">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||
<img src="img/icon-wallet.svg" ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||
</i>
|
||||
<div>{{wallet.name}}</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<ion-modal-view id="wallet-balance">
|
||||
<ion-header-bar align-title="center" ng-style="{'background-color': wallet.color}">
|
||||
<ion-header-bar align-title="center" ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color': wallet.color}">
|
||||
<button class="button button-clear" ng-click="close()" translate>
|
||||
Close
|
||||
</button>
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
<li class="line-b" ng-repeat="w in wallets">
|
||||
<a ng-click="selectWallet(w.id)" class="db oh">
|
||||
<div class="avatar-wallet"
|
||||
ng-style="{'background-color':w.color}">
|
||||
ng-class="{'wallet-background-color-default': !w.color}" ng-style="{'background-color':w.color}">
|
||||
<i class="icon-wallet size-21"></i>
|
||||
</div>
|
||||
<div class="ellipsis name-wallet text-bold">
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<ion-view id="onboarding-backup-request" class="onboarding">
|
||||
<ion-content ng-controller="backupRequestController" scroll="false">
|
||||
<div id="warning">
|
||||
<img src="img/onboarding-warning.svg" id="alert-icon">
|
||||
<img class="svg" src="img/onboarding-warning.svg" id="alert-icon">
|
||||
<div class="onboarding-topic" translate>No backup, no bitcoin.</div>
|
||||
<div class="onboarding-description" id="backup-description" translate>Since only you control your money, you’ll need to save your backup phrase in case this app is deleted.</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
</ion-content>
|
||||
</ion-view>
|
||||
<div id="terms-of-use" ng-class="{'slideUp': shrinkView}">
|
||||
<ion-nav-bar class="bar-ligt">
|
||||
<ion-nav-bar>
|
||||
<ion-nav-title>{{'Terms of Use' | translate}}</ion-nav-title>
|
||||
<ion-nav-buttons side="primary">
|
||||
<button class="button no-border" ng-click="openTerms()">
|
||||
|
|
@ -37,12 +37,11 @@
|
|||
<div ng-include="'views/includes/terms.html'" direction="y"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="agree-to-terms" ng-if="accepted.first && accepted.second" ng-class="{'header-present': backedUp == 'false'}">
|
||||
<div id="agree-to-terms-content" class="center-block">
|
||||
<ion-checkbox ng-model="terms.accepted"></ion-checkbox>
|
||||
<p translate>I have read, understood, and agree to the <a ng-click="openTerms()" translate>Terms of Use</a>.</p>
|
||||
<button ng-disabled="!accepted.first || !accepted.second || !terms.accepted" class="button button-block button-positive" ng-click="confirm()" translate>Confirm & Finish</button>
|
||||
<button ng-disabled="!accepted.first || !accepted.second || !terms.accepted" class="button button-block button-primary" ng-click="confirm()" translate>Confirm & Finish</button>
|
||||
</div>
|
||||
</div>
|
||||
</ion-pane>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<ion-view id="onboard-welcome" class="onboarding">
|
||||
<ion-content ng-controller="welcomeController" ng-init="createProfile()" scroll="false">
|
||||
<div id="logo-tagline">
|
||||
<img src='img/bitpay-logo.svg' id="logo" />
|
||||
<img src='img/app/logo-negative.svg' id="logo" />
|
||||
<p id="lead" translate>Take control of your money,<br />get started with bitcoin.</p>
|
||||
</div>
|
||||
<div id="cta-buttons">
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
<li class="panel" ng-repeat="w in wallets">
|
||||
<a ng-click="payment.selectWallet(w.id)">
|
||||
<div class="avatar-wallet"
|
||||
ng-style="{'background-color':w.color}">
|
||||
ng-class="{'wallet-background-color-default': !w.color}" ng-style="{'background-color':w.color}">
|
||||
<i class="icon-wallet size-21"></i>
|
||||
</div>
|
||||
<div class="ellipsis">{{w.name || w.id}}</div>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,9 @@
|
|||
<a class="item item-icon-right" ui-sref="tabs.preferences.preferencesColor">
|
||||
<span translate>Color</span>
|
||||
<span class="item-note">
|
||||
<span class="settings-color-block" ng-style="{'background-color': wallet.color, 'color': wallet.color}"></span>
|
||||
<span class="settings-color-block"
|
||||
ng-class="{'wallet-background-color-default': !wallet.color, 'wallet-color-default': !wallet.color}"
|
||||
ng-style="{'background-color': wallet.color, 'color': wallet.color}"></span>
|
||||
</span>
|
||||
<i class="icon bp-arrow-right"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -6,10 +6,9 @@
|
|||
<ion-nav-back-button>
|
||||
</ion-nav-back-button>
|
||||
</ion-nav-bar>
|
||||
<ion-content>
|
||||
<ion-radio ng-repeat="c in colorList" ng-value="c.color" ng-model="currentColor" ng-click="save(c.color)">
|
||||
<span ng-style="{'background-color': c.color, 'color' : c.color}" class="settings-color-block"></span>
|
||||
<span class="settings-color-name"> {{c.name}}</span>
|
||||
<ion-content class="wallet-color-count wallet-color-default">
|
||||
<ion-radio ng-repeat="i in [] | range:colorCount" ng-value="i" ng-model="currentColorIndex" ng-click="save(i)">
|
||||
<span class="settings-color-block wallet-color-{{i}}"></span>
|
||||
</ion-radio>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
<div class="label">From</div>
|
||||
<div class="wallet">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}" class="bg">
|
||||
<img src="img/icon-wallet.svg" ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color': wallet.color}" class="bg">
|
||||
</i>
|
||||
{{wallet ? wallet.name : '...'}}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
<span translate ng-show="showAdv">Hide advanced options</span>
|
||||
</a>
|
||||
|
||||
<ion-checkbox ng-show="showAdv" ng-model="formData.noSignEnabled" class="checkbox-balanced" ng-change="noSignEnabledChange(); resizeView()">
|
||||
<ion-checkbox ng-show="showAdv" ng-model="formData.noSignEnabled" class="checkbox-positive" ng-change="noSignEnabledChange(); resizeView()">
|
||||
<span class="toggle-label" translate>Do not include private key</span>
|
||||
</ion-checkbox>
|
||||
</div>
|
||||
|
|
@ -53,7 +53,7 @@
|
|||
ng-click="downloadWalletBackup()"
|
||||
class="button button-standard button-primary"
|
||||
ng-disabled="(!formData.password || formData.password != formData.repeatpassword)"
|
||||
ng-style="{'background-color':wallet.color}"
|
||||
ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color':wallet.color}"
|
||||
ng-show="!isSafari && !isCordova">
|
||||
<i class="fi-download"></i>
|
||||
<span translate>Download</span>
|
||||
|
|
@ -63,7 +63,7 @@
|
|||
ng-click="viewWalletBackup()"
|
||||
class="button button-standard button-primary"
|
||||
ng-disabled="(!formData.password || formData.password != formData.repeatpassword)"
|
||||
ng-style="{'background-color':wallet.color}"
|
||||
ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color':wallet.color}"
|
||||
ng-show="isSafari && !isCordova">
|
||||
<i class="fi-eye"></i>
|
||||
<span translate>View</span>
|
||||
|
|
@ -72,12 +72,12 @@
|
|||
<div ng-show="isCordova">
|
||||
<button class="button button-standard button-primary"
|
||||
ng-disabled="(!formData.password || formData.password != formData.repeatpassword)"
|
||||
ng-style="{'background-color':wallet.color}"
|
||||
ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color':wallet.color}"
|
||||
ng-click="copyWalletBackup()">
|
||||
<i class="fi-clipboard-pencil"></i>
|
||||
<span translate>Copy to clipboard</span></button>
|
||||
<button class="button button-standard button-primary" ng-disabled="(!formData.password || formData.password != formData.repeatpassword)"
|
||||
ng-style="{'background-color':wallet.color}"
|
||||
ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color':wallet.color}"
|
||||
ng-click="sendWalletBackup()"><i class="fi-mail"></i>
|
||||
<span translate>Send by email</span></button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@
|
|||
class="item item-sub item-icon-left item-big-icon-left item-icon-right wallet"
|
||||
ng-click="openWallet(wallet)">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}" class="bg wallet"/>
|
||||
<img src="img/icon-wallet.svg" ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color': wallet.color}" class="bg wallet"/>
|
||||
</i>
|
||||
<span>
|
||||
{{wallet.name || wallet.id}}
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@
|
|||
<div class="card">
|
||||
<div class="item item-icon-left text-right" ng-class="{'noBalance': !wallet.status.availableBalanceStr}">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||
<img src="img/icon-wallet.svg" ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||
</i>
|
||||
<span class="wallet-name">{{wallet.name || wallet.id}}</span>
|
||||
<span class="item-note m10l">
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
<div class="ng-show" id="tab-scan-loading-camera" ng-show="currentState === scannerStates.loading"></div>
|
||||
<div class="ng-hide" id="tab-scan-camera-ready" ng-show="currentState === scannerStates.visible">
|
||||
<div class="guides">
|
||||
<img class="qr-scan-guides" src="img/bitpay-wallet-qr-scan-guides.svg">
|
||||
<img class="svg qr-scan-guides" src="img/bitpay-wallet-qr-scan-guides.svg">
|
||||
</div>
|
||||
<div class="scanner-controls">
|
||||
<a ng-click="toggleLight()" ng-show="canEnableLight">
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@
|
|||
</div>
|
||||
<a class="item item-icon-left item-icon-right" ng-repeat="item in list" ng-if="hasWallets && item.recipientType == 'wallet'" ng-click="goToAmount(item)">
|
||||
<i class="icon big-icon-svg" ng-if="item.recipientType == 'wallet'">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': item.color}" class="bg"/>
|
||||
<img src="img/icon-wallet.svg" ng-class="{'wallet-background-color-default': !item.color}" ng-style="{'background-color': item.color}" class="bg"/>
|
||||
</i>
|
||||
{{item.name}}
|
||||
<i class="icon bp-arrow-right"></i>
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@
|
|||
ui-sref="tabs.preferences({'walletId': item.id})"
|
||||
ng-repeat="item in wallets track by $index">
|
||||
<i class="icon big-icon-svg circle">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': item.color}" class="bg"/>
|
||||
<img src="img/icon-wallet.svg" ng-class="{'wallet-background-color-default': !item.color}" ng-style="{'background-color': item.color}" class="bg"/>
|
||||
</i>
|
||||
<span>
|
||||
{{item.name || item.id}}
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@
|
|||
<span class="label" ng-if="btx.action !== 'sent'" translate>To</span>
|
||||
<div class="wallet">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||
<img src="img/icon-wallet.svg" ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||
</i>
|
||||
<div>{{wallet.name}}</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<ion-view id="walletDetails">
|
||||
|
||||
<ion-nav-bar ng-style="{'background-color': wallet.color}">
|
||||
<ion-nav-bar ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color': wallet.color}">
|
||||
<ion-nav-title>{{wallet.name}}</ion-nav-title>
|
||||
<ion-nav-back-button>
|
||||
</ion-nav-back-button>
|
||||
|
|
@ -13,16 +13,16 @@
|
|||
|
||||
<div class="bp-content" ng-class="{'status-bar': isCordova && isIOS}">
|
||||
|
||||
<div class="amount-wrapper" ng-show="wallet && wallet.isComplete() && amountIsCollapsible" ng-style="{'background-color':wallet.color}">
|
||||
<div class="amount-wrapper" ng-show="wallet && wallet.isComplete() && amountIsCollapsible" ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color':wallet.color}">
|
||||
<div
|
||||
class="amount-bg"
|
||||
ng-style="{'background-color':wallet.color}"
|
||||
ng-class="{collapsible: amountIsCollapsible}"
|
||||
ng-class="{collapsible: amountIsCollapsible, 'wallet-background-color-default': !wallet.color}"
|
||||
></div>
|
||||
<div
|
||||
ng-style="{'background-color':wallet.color, 'height': amountHeight}"
|
||||
class="amount"
|
||||
ng-class="{collapsible: amountIsCollapsible}"
|
||||
ng-class="{collapsible: amountIsCollapsible, 'wallet-background-color-default': !wallet.color}"
|
||||
>
|
||||
<div ng-if="!notAuthorized && !updatingStatus">
|
||||
|
||||
|
|
@ -98,12 +98,12 @@
|
|||
<div class="amount-wrapper" ng-if="wallet && wallet.isComplete() && !amountIsCollapsible">
|
||||
<div
|
||||
class="amount-bg"
|
||||
ng-style="{'background-color':wallet.color}"
|
||||
ng-class="{'wallet-background-color-default': !wallet.color}" ng-style="{'background-color':wallet.color}"
|
||||
></div>
|
||||
<div
|
||||
ng-style="{'background-color':wallet.color}"
|
||||
class="amount"
|
||||
ng-class="{'collapsible': amountIsCollapsible}"
|
||||
ng-class="{'collapsible': amountIsCollapsible, 'wallet-background-color-default': !wallet.color}"
|
||||
>
|
||||
<div ng-if="!updatingStatus">
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue