- Ajout photo produits - Page de confirmation de commande indépendante pour assurer le rechargement de la page et des infos du menu (mes commandes et le crédit) - Gestion du cas où aucune distribution n'est programmée - Gestion erreur aucun produitdev
return false ; | return false ; | ||||
} | } | ||||
/** | |||||
* Retourne le nombre de produits commandés | |||||
* | |||||
* @return integer | |||||
*/ | |||||
public function countProducts() | |||||
{ | |||||
$count = 0 ; | |||||
if($this->productOrder && is_array($this->productOrder)) { | |||||
foreach($this->productOrder as $productOrder) { | |||||
$count += $productOrder->quantity ; | |||||
} | |||||
} | |||||
return $count ; | |||||
} | |||||
} | } |
} | } | ||||
} | } | ||||
return ['status' => 'success'] ; | |||||
return ['status' => 'success', 'idOrder' => $order->id] ; | |||||
} | } | ||||
/** | /** | ||||
return $json ; | return $json ; | ||||
} | } | ||||
public function actionConfirm($idOrder) | |||||
{ | |||||
$order = Order::searchOne(['id' => $idOrder]) ; | |||||
if(!$order || $order->id_user != User::getCurrentId()) { | |||||
throw new \yii\base\UserException('Commande introuvable.') ; | |||||
} | |||||
return $this->render('confirm',[ | |||||
'order' => $order | |||||
]) ; | |||||
} | |||||
} | } | ||||
<?php | |||||
/** | |||||
Copyright distrib (2018) | |||||
contact@opendistrib.net | |||||
Ce logiciel est un programme informatique servant à aider les producteurs | |||||
à distribuer leur production en circuits courts. | |||||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||||
sur le site "http://www.cecill.info". | |||||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||||
de modification et de redistribution accordés par cette licence, il n'est | |||||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||||
titulaire des droits patrimoniaux et les concédants successifs. | |||||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||||
associés au chargement, à l'utilisation, à la modification et/ou au | |||||
développement et à la reproduction du logiciel par l'utilisateur étant | |||||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||||
avertis possédant des connaissances informatiques approfondies. Les | |||||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||||
termes. | |||||
*/ | |||||
use common\models\Order ; | |||||
$this->setPageTitle('Confirmation de commande') ; | |||||
?> | |||||
<div id="order-success"> | |||||
<div class="alert alert-success"> | |||||
<span class="glyphicon glyphicon-ok glyphicon-big"></span> | |||||
<div class="content"> | |||||
<h3>Votre commande a bien été prise en compte</h3> | |||||
<a href="<?= Yii::$app->urlManagerProducer->createUrl(['order/history']) ?>" class="btn btn-default"> | |||||
<span class="glyphicon glyphicon-chevron-right"></span> | |||||
Voir toutes mes commandes | |||||
</a> | |||||
</div> | |||||
<div class="clr"></div> | |||||
</div> | |||||
<div class="alert alert-info"> | |||||
<span class="glyphicon glyphicon-list-alt glyphicon-big"></span> | |||||
<div class="content"> | |||||
<h3>Récapitulatif de votre commande</h3> | |||||
<ul> | |||||
<li><span class="glyphicon glyphicon-time"></span><?= date('d/m/Y',strtotime($order->distribution->date)) ?></li> | |||||
<li><span class="glyphicon glyphicon-map-marker"></span><?= Html::encode($order->pointSale->name) ?><?php if(strlen($order->pointSale->name)): ?> <span class="locality">à <?= Html::encode($order->pointSale->locality) ?></span><?php endif; ?></li> | |||||
<li><span class="glyphicon glyphicon-th-list"></span><?= $order->countProducts(); ?> produit<?php if($order->countProducts() > 1): ?>s<?php endif; ?></li> | |||||
<li><span class="glyphicon glyphicon-chevron-right"></span><?= $order->getAmount(Order::AMOUNT_TOTAL, true); ?></li> | |||||
</ul> | |||||
</div> | |||||
<div class="clr"></div> | |||||
</div> | |||||
</div> |
<?php if(isset($order)): ?> | <?php if(isset($order)): ?> | ||||
<span id="order-distribution-date"><?= $order->distribution->date; ?></span> | <span id="order-distribution-date"><?= $order->distribution->date; ?></span> | ||||
<?php endif; ?> | <?php endif; ?> | ||||
<div v-if="orderSuccess" id="order-success"> | |||||
<div class="alert alert-success"> | |||||
<span class="glyphicon glyphicon-ok glyphicon-big"></span> | |||||
<div class="content"> | |||||
<h3>Votre commande a bien été prise en compte</h3> | |||||
<a href="<?= Yii::$app->urlManagerProducer->createUrl(['order/history']) ?>" class="btn btn-default"> | |||||
<span class="glyphicon glyphicon-chevron-right"></span> | |||||
Voir toutes mes commandes | |||||
</a> | |||||
</div> | |||||
<div class="clr"></div> | |||||
</div> | |||||
<div class="alert alert-info"> | |||||
<span class="glyphicon glyphicon-list-alt glyphicon-big"></span> | |||||
<div class="content"> | |||||
<h3>Récapitulatif de votre commande</h3> | |||||
<ul> | |||||
<li><span class="glyphicon glyphicon-time"></span> {{ dateFormat }}</li> | |||||
<li><span class="glyphicon glyphicon-map-marker"></span> {{ pointSaleActive.name }} <span class="locality" v-if="pointSaleActive.locality.length > 0">à {{ pointSaleActive.locality }}</span></li> | |||||
<li><span class="glyphicon glyphicon-th-list"></span> {{ countProductOrdered() }} produits</li> | |||||
<li><span class="glyphicon glyphicon-chevron-right"></span> {{ priceTotal(true) }}</li> | |||||
</ul> | |||||
</div> | |||||
<div class="clr"></div> | |||||
</div> | |||||
<div v-if="loadingInit && distributions.length == 0" class="alert alert-warning"> | |||||
Aucune distribution n'est prévue chez ce producteur. | |||||
</div> | </div> | ||||
<div v-else> | <div v-else> | ||||
<div :class="(producer != null && producer.order_infos.length) ? 'col-md-9' : 'col-md-12'"> | <div :class="(producer != null && producer.order_infos.length) ? 'col-md-9' : 'col-md-12'"> | ||||
<div class="clr"></div> | <div class="clr"></div> | ||||
</div> | </div> | ||||
<div class="content"> | <div class="content"> | ||||
<div v-if="errors.length" class="alert alert-danger"> | |||||
<ul> | |||||
<li v-for="error in errors"> | |||||
{{ error }} | |||||
</li> | |||||
</ul> | |||||
</div> | |||||
<transition name="slide"> | <transition name="slide"> | ||||
<div id="content-step-date" v-if="step == 'date'"> | <div id="content-step-date" v-if="step == 'date'"> | ||||
<div id="legend"> | <div id="legend"> | ||||
<table id="products" class="table table-bordered" > | <table id="products" class="table table-bordered" > | ||||
<thead> | <thead> | ||||
<tr> | <tr> | ||||
<th>Photo</th> | |||||
<th>Nom</th> | <th>Nom</th> | ||||
<th>Prix unitaire</th> | <th>Prix unitaire</th> | ||||
<th>Quantité</th> | <th>Quantité</th> | ||||
</thead> | </thead> | ||||
<tbody> | <tbody> | ||||
<tr v-for="product in products" v-if="product.productDistribution[0].active == 1"> | <tr v-for="product in products" v-if="product.productDistribution[0].active == 1"> | ||||
<td class="photo"> | |||||
<img v-if="product.photo.length" class="photo-product" :src="'<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/uploads/'+product.photo" /> | |||||
</td> | |||||
<td class="name"> | <td class="name"> | ||||
<span class="name">{{ product.name }}</span> | <span class="name">{{ product.name }}</span> | ||||
<span class="other"> | <span class="other"> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="block-actions"> | <div class="block-actions"> | ||||
<button class="btn btn-primary" @click="confirmClick">Je confirme ma commande</button> | |||||
<button class="btn btn-primary" disabled="disabled" v-if="disableConfirmButton">Je confirme ma commande</button> | |||||
<button class="btn btn-primary" v-else @click="confirmClick">Je confirme ma commande</button> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</transition> | </transition> |
} | } | ||||
/* line 171, ../sass/order/_order.scss */ | /* line 171, ../sass/order/_order.scss */ | ||||
.order-order #app-order-order table#points-sale td.name .the-name { | .order-order #app-order-order table#points-sale td.name .the-name { | ||||
text-transform: uppercase; | |||||
font-family: "capsuularegular"; | font-family: "capsuularegular"; | ||||
color: black; | color: black; | ||||
font-size: 20px; | font-size: 20px; | ||||
line-height: 25px; | line-height: 25px; | ||||
} | } | ||||
/* line 180, ../sass/order/_order.scss */ | |||||
/* line 179, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order table#points-sale td.actions { | .order-order #app-order-order table#points-sale td.actions { | ||||
width: 150px; | width: 150px; | ||||
} | } | ||||
/* line 182, ../sass/order/_order.scss */ | |||||
/* line 181, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order table#points-sale td.actions button { | .order-order #app-order-order table#points-sale td.actions button { | ||||
width: 100%; | width: 100%; | ||||
} | } | ||||
/* line 188, ../sass/order/_order.scss */ | |||||
/* line 187, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order table#points-sale tr.selected td { | .order-order #app-order-order table#points-sale tr.selected td { | ||||
background-color: white; | background-color: white; | ||||
} | } | ||||
/* line 196, ../sass/order/_order.scss */ | |||||
/* line 195, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order table#products td.photo img { | |||||
width: 100px; | |||||
} | |||||
/* line 201, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order table#products td.name .name { | .order-order #app-order-order table#products td.name .name { | ||||
text-transform: uppercase; | |||||
font-family: "capsuularegular"; | font-family: "capsuularegular"; | ||||
color: black; | color: black; | ||||
font-size: 20px; | font-size: 20px; | ||||
line-height: 25px; | line-height: 25px; | ||||
} | } | ||||
/* line 203, ../sass/order/_order.scss */ | |||||
/* line 207, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order table#products td.name .other { | .order-order #app-order-order table#products td.name .other { | ||||
font-size: 14px; | font-size: 14px; | ||||
color: #333; | color: #333; | ||||
} | } | ||||
/* line 207, ../sass/order/_order.scss */ | |||||
/* line 211, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order table#products td.name .recipe { | .order-order #app-order-order table#products td.name .recipe { | ||||
color: gray; | color: gray; | ||||
} | } | ||||
/* line 211, ../sass/order/_order.scss */ | |||||
/* line 215, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order table#products .price-unit, .order-order #app-order-order table#products .price-total { | .order-order #app-order-order table#products .price-unit, .order-order #app-order-order table#products .price-total { | ||||
width: 100px; | width: 100px; | ||||
text-align: center; | text-align: center; | ||||
} | } | ||||
/* line 215, ../sass/order/_order.scss */ | |||||
/* line 219, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order table#products .td-quantity { | .order-order #app-order-order table#products .td-quantity { | ||||
width: 150px; | width: 150px; | ||||
} | } | ||||
/* line 217, ../sass/order/_order.scss */ | |||||
/* line 221, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order table#products .td-quantity input.quantity { | .order-order #app-order-order table#products .td-quantity input.quantity { | ||||
text-align: center; | text-align: center; | ||||
} | } | ||||
/* line 223, ../sass/order/_order.scss */ | |||||
/* line 227, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order table#products tr.total .price-total { | .order-order #app-order-order table#products tr.total .price-total { | ||||
font-size: 23px; | font-size: 23px; | ||||
} | } | ||||
/* line 230, ../sass/order/_order.scss */ | |||||
/* line 234, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order #content-step-payment .credit { | .order-order #app-order-order #content-step-payment .credit { | ||||
margin-top: 20px; | margin-top: 20px; | ||||
} | } | ||||
/* line 233, ../sass/order/_order.scss */ | |||||
/* line 237, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order #content-step-payment .credit .info { | .order-order #app-order-order #content-step-payment .credit .info { | ||||
margin-left: 20px; | margin-left: 20px; | ||||
color: gray; | color: gray; | ||||
} | } | ||||
/* line 240, ../sass/order/_order.scss */ | |||||
/* line 244, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order #infos { | .order-order #app-order-order #infos { | ||||
margin-top: 30px; | margin-top: 30px; | ||||
} | } | ||||
/* line 242, ../sass/order/_order.scss */ | |||||
/* line 246, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order #infos .panel-body { | .order-order #app-order-order #infos .panel-body { | ||||
padding-top: 0px; | padding-top: 0px; | ||||
white-space: pre-line; | white-space: pre-line; | ||||
} | } | ||||
/* line 250, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order #order-success .alert.alert-success .glyphicon-big { | |||||
/* line 5, ../sass/order/_confirm.scss */ | |||||
.order-confirm #main #order-success .alert.alert-success .glyphicon-big { | |||||
background-color: #00A65A; | background-color: #00A65A; | ||||
} | } | ||||
/* line 256, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order #order-success .alert.alert-info .glyphicon-big { | |||||
/* line 11, ../sass/order/_confirm.scss */ | |||||
.order-confirm #main #order-success .alert.alert-info .glyphicon-big { | |||||
background-color: #0097BC; | background-color: #0097BC; | ||||
padding: 55px 30px; | padding: 55px 30px; | ||||
} | } | ||||
/* line 262, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order #order-success .alert { | |||||
/* line 17, ../sass/order/_confirm.scss */ | |||||
.order-confirm #main #order-success .alert.alert-info .content .glyphicon { | |||||
margin-right: 5px; | |||||
} | |||||
/* line 23, ../sass/order/_confirm.scss */ | |||||
.order-confirm #main #order-success .alert { | |||||
padding: 0px; | padding: 0px; | ||||
} | } | ||||
/* line 264, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order #order-success .alert .glyphicon-big { | |||||
/* line 25, ../sass/order/_confirm.scss */ | |||||
.order-confirm #main #order-success .alert .glyphicon-big { | |||||
font-size: 90px; | font-size: 90px; | ||||
color: white; | color: white; | ||||
padding: 30px; | padding: 30px; | ||||
float: left; | float: left; | ||||
} | } | ||||
/* line 271, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order #order-success .alert div.content { | |||||
/* line 32, ../sass/order/_confirm.scss */ | |||||
.order-confirm #main #order-success .alert div.content { | |||||
color: #333; | color: #333; | ||||
padding: 20px; | padding: 20px; | ||||
margin-left: 151px; | margin-left: 151px; | ||||
} | } | ||||
/* line 276, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order #order-success .alert div.content h3 { | |||||
/* line 37, ../sass/order/_confirm.scss */ | |||||
.order-confirm #main #order-success .alert div.content h3 { | |||||
font-family: "capsuularegular"; | font-family: "capsuularegular"; | ||||
font-size: 30px; | font-size: 30px; | ||||
color: #333; | color: #333; | ||||
line-height: 35px; | line-height: 35px; | ||||
text-transform: none; | text-transform: none; | ||||
} | } | ||||
/* line 289, ../sass/order/_order.scss */ | |||||
.order-order #app-order-order #order-success .alert div.content .locality { | |||||
/* line 50, ../sass/order/_confirm.scss */ | |||||
.order-confirm #main #order-success .alert div.content .locality { | |||||
color: gray; | color: gray; | ||||
} | } | ||||
producer: null, | producer: null, | ||||
date: null, | date: null, | ||||
dateFormat: null, | dateFormat: null, | ||||
distributions: [], | |||||
distribution: null, | distribution: null, | ||||
pointsSale: [], | pointsSale: [], | ||||
pointSaleActive: null, | pointSaleActive: null, | ||||
comment: '', | comment: '', | ||||
creditCheckbox: false, | creditCheckbox: false, | ||||
credit: 0, | credit: 0, | ||||
orderSuccess: false, | |||||
errors: [], | |||||
disableConfirmButton: false, | |||||
calendar: { | calendar: { | ||||
mode: 'single', | mode: 'single', | ||||
attrs: [], | attrs: [], | ||||
this.calendar.availableDates = [] ; | this.calendar.availableDates = [] ; | ||||
var distributions = response.data.distributions ; | var distributions = response.data.distributions ; | ||||
if(distributions.length) { | if(distributions.length) { | ||||
this.distributions = distributions ; | |||||
var arrayDate ; | var arrayDate ; | ||||
for(var i= 0; i < distributions.length; i++) { | for(var i= 0; i < distributions.length; i++) { | ||||
this.calendar.attrs.push({ | this.calendar.attrs.push({ | ||||
}); | }); | ||||
}, | }, | ||||
changeStep: function(step) { | changeStep: function(step) { | ||||
this.errors = [] ; | |||||
var oldStep = this.step ; | var oldStep = this.step ; | ||||
this.step = step ; | |||||
window.scroll(0, $('#page-title').position().top - 25) ; | |||||
if(oldStep == 'date' && step == 'point-sale') { | |||||
this.init() ; | |||||
if(oldStep == 'products' && step == 'payment') { | |||||
this.checkProducts() ; | |||||
} | |||||
if(!this.errors.length) { | |||||
this.step = step ; | |||||
window.scroll(0, $('#page-title').position().top - 25) ; | |||||
if(oldStep == 'date' && step == 'point-sale') { | |||||
this.init() ; | |||||
} | |||||
} | } | ||||
}, | }, | ||||
dayClick: function(day) { | dayClick: function(day) { | ||||
if(this.isAvailableDate(day.date)) { | if(this.isAvailableDate(day.date)) { | ||||
} | } | ||||
}, | }, | ||||
confirmClick: function() { | confirmClick: function() { | ||||
this.disableConfirmButton = true ; | |||||
var productsArray = {} ; | var productsArray = {} ; | ||||
for(var key in this.products) { | for(var key in this.products) { | ||||
if( this.products[key].quantity_form != null && | if( this.products[key].quantity_form != null && | ||||
products: productsArray | products: productsArray | ||||
}).then(response => { | }).then(response => { | ||||
if(response.data.status == 'success') { | if(response.data.status == 'success') { | ||||
this.orderSuccess = true ; | |||||
window.location.href = chat_base_url(true)+'order/confirm?idOrder='+response.data.idOrder ; | |||||
} | } | ||||
}); | }); | ||||
}, | |||||
checkProducts: function() { | |||||
if(!this.oneProductOrdered()) { | |||||
this.errors.push('Veuillez sélectionner au moins un produit.') ; | |||||
} | |||||
} | } | ||||
} | } | ||||
}); | }); |
.order-confirm #main { | |||||
#order-success { | |||||
.alert.alert-success { | |||||
.glyphicon-big { | |||||
background-color: #00A65A ; | |||||
} | |||||
} | |||||
.alert.alert-info { | |||||
.glyphicon-big { | |||||
background-color: #0097BC ; | |||||
padding: 55px 30px ; | |||||
} | |||||
.content { | |||||
.glyphicon { | |||||
margin-right: 5px ; | |||||
} | |||||
} | |||||
} | |||||
.alert { | |||||
padding: 0px ; | |||||
.glyphicon-big { | |||||
font-size: 90px ; | |||||
color: white ; | |||||
padding: 30px ; | |||||
float: left ; | |||||
} | |||||
div.content { | |||||
color: #333 ; | |||||
padding: 20px ; | |||||
margin-left: 151px ; | |||||
h3 { | |||||
font-family: 'capsuularegular' ; | |||||
font-size: 30px ; | |||||
color: #333 ; | |||||
margin-bottom: 20px ; | |||||
margin-top: 0px ; | |||||
margin-left: 0px ; | |||||
text-align: left ; | |||||
padding-left: 0px ; | |||||
line-height: 35px ; | |||||
text-transform: none ; | |||||
} | |||||
.locality { | |||||
color: gray ; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} |
table#points-sale { | table#points-sale { | ||||
td.name { | td.name { | ||||
.the-name { | .the-name { | ||||
text-transform: uppercase ; | |||||
font-family: 'capsuularegular' ; | font-family: 'capsuularegular' ; | ||||
color: black ; | color: black ; | ||||
font-size: 20px ; | font-size: 20px ; | ||||
} | } | ||||
table#products { | table#products { | ||||
td.photo { | |||||
img { | |||||
width: 100px ; | |||||
} | |||||
} | |||||
td.name { | td.name { | ||||
.name { | .name { | ||||
text-transform: uppercase ; | |||||
font-family: 'capsuularegular' ; | font-family: 'capsuularegular' ; | ||||
color: black ; | color: black ; | ||||
font-size: 20px ; | font-size: 20px ; | ||||
white-space: pre-line ; | white-space: pre-line ; | ||||
} | } | ||||
} | } | ||||
#order-success { | |||||
.alert.alert-success { | |||||
.glyphicon-big { | |||||
background-color: #00A65A ; | |||||
} | |||||
} | |||||
.alert.alert-info { | |||||
.glyphicon-big { | |||||
background-color: #0097BC ; | |||||
padding: 55px 30px ; | |||||
} | |||||
} | |||||
.alert { | |||||
padding: 0px ; | |||||
.glyphicon-big { | |||||
font-size: 90px ; | |||||
color: white ; | |||||
padding: 30px ; | |||||
float: left ; | |||||
} | |||||
div.content { | |||||
color: #333 ; | |||||
padding: 20px ; | |||||
margin-left: 151px ; | |||||
h3 { | |||||
font-family: 'capsuularegular' ; | |||||
font-size: 30px ; | |||||
color: #333 ; | |||||
margin-bottom: 20px ; | |||||
margin-top: 0px ; | |||||
margin-left: 0px ; | |||||
text-align: left ; | |||||
padding-left: 0px ; | |||||
line-height: 35px ; | |||||
text-transform: none ; | |||||
} | |||||
.locality { | |||||
color: gray ; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | } | ||||
@import "order/_form.scss"; | @import "order/_form.scss"; | ||||
@import "order/_history.scss"; | @import "order/_history.scss"; | ||||
@import "order/_order.scss"; | @import "order/_order.scss"; | ||||
@import "order/_confirm.scss"; | |||||
@import "credit/_add.scss"; | @import "credit/_add.scss"; | ||||
@import "subscription/_form.scss"; | @import "subscription/_form.scss"; | ||||
@import "_responsive.scss"; | @import "_responsive.scss"; |