Ver código fonte

Intégration Souke

feature/souke
Guillaume Bourgeois 8 meses atrás
pai
commit
0a43579ddf
28 arquivos alterados com 559 adições e 477 exclusões
  1. +2
    -2
      backend/views/layouts/main.php
  2. +20
    -16
      backend/web/css/screen.css
  3. BIN
      backend/web/img/favicon-souke-1.png
  4. BIN
      backend/web/img/favicon-souke-2.png
  5. +4
    -0
      backend/web/sass/_responsive.scss
  6. +7
    -6
      common/views/nav_user_top.php
  7. +40
    -32
      common/web/css/screen.css
  8. +11
    -1
      common/web/sass/_common.scss
  9. +1
    -1
      frontend/controllers/SiteController.php
  10. +2
    -2
      frontend/views/layouts/main.php
  11. +1
    -1
      frontend/views/site/_about_few_numbers.php
  12. +3
    -2
      frontend/views/site/_button_producer_signup.php
  13. +5
    -5
      frontend/views/site/iamproducer.php
  14. +4
    -4
      frontend/views/site/index.php
  15. +83
    -71
      frontend/views/site/service.php
  16. +271
    -246
      frontend/web/css/screen.css
  17. BIN
      frontend/web/img/favicon-souke-1.png
  18. BIN
      frontend/web/img/favicon-souke-2.png
  19. BIN
      frontend/web/img/favicon-souke-3.png
  20. BIN
      frontend/web/img/favicon-souke-4.png
  21. +3
    -0
      frontend/web/js/frontend.js
  22. +61
    -68
      frontend/web/sass/_responsive.scss
  23. +40
    -18
      frontend/web/sass/screen.scss
  24. +1
    -2
      producer/views/layouts/main.php
  25. BIN
      producer/web/img/favicon-distrib.png
  26. BIN
      producer/web/img/favicon-souke-1.png
  27. BIN
      producer/web/img/favicon-souke-2.png
  28. BIN
      producer/web/img/favicon4.png

+ 2
- 2
backend/views/layouts/main.php Ver arquivo

@@ -72,8 +72,8 @@ if (Yii::$app->controller->action->id === 'login') {
<meta http-equiv="refresh" content="60">
<?php endif; ?>
<?= Html::csrfMetaTags() ?>
<title><?= Html::encode($this->page_title) ?> | Opendistrib</title>
<link rel="icon" type="image/png" href="<?php echo Yii::$app->urlManagerBackend->getBaseUrl(); ?>/img/favicon-distrib.png" />
<title><?= Html::encode($this->page_title) ?> | Souke</title>
<link rel="icon" type="image/png" href="<?php echo Yii::$app->urlManagerBackend->getBaseUrl(); ?>/img/favicon-souke-1.png" />
<?php $this->head() ?>
<?= $this->render('@common/views/matomo.php') ?>
</head>

+ 20
- 16
backend/web/css/screen.css Ver arquivo

@@ -3227,76 +3227,80 @@ termes.
.wrapper .main-header .navbar .producer-panel {
display: none;
}
/* line 54, ../sass/_responsive.scss */
.wrapper .main-header .navbar a {
padding: 14px 10px;
}

/* line 58, ../sass/_responsive.scss */
/* line 62, ../sass/_responsive.scss */
.navbar-custom-menu .producer-menu span {
display: none;
}

/* line 65, ../sass/_responsive.scss */
/* line 69, ../sass/_responsive.scss */
.table .column-hide-on-mobile {
display: none;
}

/* line 76, ../sass/_responsive.scss */
/* line 80, ../sass/_responsive.scss */
.distribution-index .modal-form-order .modal-container .modal-body table.table-products td.quantity .form-control {
width: 50px;
height: 52px;
}
/* line 82, ../sass/_responsive.scss */
/* line 86, ../sass/_responsive.scss */
.distribution-index .modal-form-order .modal-container .modal-body table.table-products td.price {
display: none;
}
/* line 90, ../sass/_responsive.scss */
/* line 94, ../sass/_responsive.scss */
.distribution-index .modal-form-order .modal-container .modal-footer .actions-form div.right {
display: none;
}
/* line 101, ../sass/_responsive.scss */
/* line 105, ../sass/_responsive.scss */
.distribution-index #orders #buttons-top-orders .left {
width: 100%;
float: none;
}
/* line 106, ../sass/_responsive.scss */
/* line 110, ../sass/_responsive.scss */
.distribution-index #orders #buttons-top-orders .right {
width: 100%;
float: none;
}
/* line 111, ../sass/_responsive.scss */
/* line 115, ../sass/_responsive.scss */
.distribution-index #orders #buttons-top-orders .btn {
padding: 8px 15px;
margin: 10px;
display: block;
width: 100%;
}
/* line 121, ../sass/_responsive.scss */
/* line 125, ../sass/_responsive.scss */
.distribution-index #orders #wrapper-nav-points-sale ul#nav-points-sale li {
float: none;
width: 100%;
}
/* line 125, ../sass/_responsive.scss */
/* line 129, ../sass/_responsive.scss */
.distribution-index #orders #wrapper-nav-points-sale ul#nav-points-sale li a {
display: block;
}
/* line 134, ../sass/_responsive.scss */
/* line 138, ../sass/_responsive.scss */
.distribution-index #orders table .state-payment-mobile {
display: block;
}
/* line 137, ../sass/_responsive.scss */
/* line 141, ../sass/_responsive.scss */
.distribution-index #orders table .state-payment-mobile .glyphicon-time {
display: none;
}
/* line 143, ../sass/_responsive.scss */
/* line 147, ../sass/_responsive.scss */
.distribution-index #orders table ul.dropdown-menu a {
padding: 15px;
}
/* line 148, ../sass/_responsive.scss */
/* line 152, ../sass/_responsive.scss */
.distribution-index #orders table button.dropdown-toggle,
.distribution-index #orders table button.btn-moins,
.distribution-index #orders table button.btn-plus,
.distribution-index #orders table .btn {
padding: 10px;
}
/* line 156, ../sass/_responsive.scss */
/* line 160, ../sass/_responsive.scss */
.distribution-index #orders table .column-origin,
.distribution-index #orders table .column-point-sale,
.distribution-index #orders table .column-state-payment,
@@ -3307,7 +3311,7 @@ termes.
display: none;
}

/* line 173, ../sass/_responsive.scss */
/* line 177, ../sass/_responsive.scss */
.communicate-email {
/*#mailform-message {
display: block !important;

BIN
backend/web/img/favicon-souke-1.png Ver arquivo

Antes Depois
Largura: 32  |  Altura: 32  |  Tamanho: 2.0KB

BIN
backend/web/img/favicon-souke-2.png Ver arquivo

Antes Depois
Largura: 32  |  Altura: 32  |  Tamanho: 936B

+ 4
- 0
backend/web/sass/_responsive.scss Ver arquivo

@@ -50,6 +50,10 @@ termes.
.producer-panel {
display: none;
}

a {
padding: 14px 10px;
}
}
}


+ 7
- 6
common/views/nav_user_top.php Ver arquivo

@@ -44,7 +44,7 @@ if ($isUserCurrentGrantedAsProducer && $userCurrent->id_producer) {
}
} else {
$itemsProducersArray[] = [
'label' => 'Aucun producteur dans vos favoris.',
'label' => 'Aucun producteur dans votre liste.',
];
}

@@ -52,12 +52,12 @@ if ($isUserCurrentGrantedAsProducer && $userCurrent->id_producer) {

$itemsProducersArray[] = [
'label' => '<i class="bi bi-search"></i> Rechercher un producteur',
'url' => $this->getUrlManagerFrontend()->createAbsoluteUrl(['site/producers'])
'url' => $this->getUrlManagerFrontend()->createAbsoluteUrl(['site/index'])
];

// Items du menu
$itemHome = [
'label' => '<i class="bi bi-house-door"></i> Accueil',
'label' => '<i class="bi bi-house-door"></i> <span class="link-text">Accueil</span>',
'url' => $this->getUrlManagerFrontend()->createAbsoluteUrl(['site/index']),
'linkOptions' => ['class' => '']
];
@@ -74,9 +74,10 @@ if ($isUserCurrentGrantedAsProducer && $userCurrent->id_producer) {
'linkOptions' => ['class' => '']
];
$itemProducers = [
'label' => '<i class="bi bi-bookmarks"></i> <span class="link-text">Producteurs</span>',
'label' => '<i class="bi bi-bookmark-heart"></i> <span class="link-text">Producteurs</span>',
'url' => '#',
'items' => $itemsProducersArray,
'options' => ['class' => 'nav-item-producers'],
'linkOptions' => ['class' => ''],
'visible' => !Yii::$app->user->isGuest
];
@@ -84,10 +85,10 @@ if ($isUserCurrentGrantedAsProducer && $userCurrent->id_producer) {
$itemsUserArray = [];
if ($context == 'producer') {
$itemsUserArray = [
[
/*[
'label' => '<span class="glyphicon glyphicon-home"></span> Retour à l\'accueil',
'url' => $this->getUrlManagerFrontend()->createAbsoluteUrl(['site/index']),
]
]*/
];
}


+ 40
- 32
common/web/css/screen.css Ver arquivo

@@ -199,8 +199,9 @@ termes.
/* line 58, ../sass/_common.scss */
.container-nav-user-top {
position: relative;
z-index: 999;
}
/* line 61, ../sass/_common.scss */
/* line 62, ../sass/_common.scss */
.container-nav-user-top .nav-user-top {
position: absolute;
top: 0px;
@@ -208,7 +209,7 @@ termes.
background-color: white;
z-index: 100;
}
/* line 68, ../sass/_common.scss */
/* line 69, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar {
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
@@ -218,16 +219,16 @@ termes.
margin: 0px;
min-height: 0px;
}
/* line 75, ../sass/_common.scss */
/* line 76, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul {
position: relative;
left: -10px;
}
/* line 79, ../sass/_common.scss */
/* line 80, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li {
padding-left: 5px;
}
/* line 82, ../sass/_common.scss */
/* line 83, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li a.nav-link {
padding-left: 10px;
padding-right: 10px;
@@ -237,12 +238,12 @@ termes.
color: black;
font-size: 16px;
}
/* line 91, ../sass/_common.scss */
/* line 92, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li a.nav-link:hover, .container-nav-user-top .nav-user-top .navbar ul li a.nav-link:focus, .container-nav-user-top .nav-user-top .navbar ul li a.nav-link.active {
background: none;
color: #ee6f42;
}
/* line 96, ../sass/_common.scss */
/* line 97, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li a.nav-link .bi {
color: #ee6f42;
font-size: 16px;
@@ -250,48 +251,55 @@ termes.
position: relative;
top: 1px;
}
/* line 106, ../sass/_common.scss */
/* line 107, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li .dropdown-menu a {
padding: 2px 20px;
}
/* line 109, ../sass/_common.scss */
/* line 110, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li .dropdown-menu a:hover, .container-nav-user-top .nav-user-top .navbar ul li .dropdown-menu a:focus {
background-color: #ece4d8;
}
/* line 118, ../sass/_common.scss */
/* line 119, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .dropdown-menu {
z-index: 9999;
}
/* line 120, ../sass/_common.scss */
/* line 121, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .dropdown-menu .divider.dropdown-header {
padding: 0px;
}

@media screen and (max-width: 768px) {
/* line 130, ../sass/_common.scss */
@media screen and (max-width: 991px) {
/* line 131, ../sass/_common.scss */
.container-nav-user-top {
padding: 0px;
margin: 0px;
width: 100%;
max-width: none;
}
/* line 133, ../sass/_common.scss */
/* line 137, ../sass/_common.scss */
.container-nav-user-top .nav-user-top {
position: relative;
}
/* line 137, ../sass/_common.scss */
/* line 141, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul {
width: 100%;
display: block;
margin-right: 0px;
text-align: center;
}
/* line 143, ../sass/_common.scss */
/* line 147, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li {
display: inline-block;
}
/* line 148, ../sass/_common.scss */
/* line 151, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li.nav-item-producers .dropdown-menu {
right: -95px;
}
/* line 158, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar .link-text {
display: none;
}
/* line 152, ../sass/_common.scss */
/* line 162, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar .dropdown-menu {
position: absolute;
right: 5%;
@@ -302,32 +310,32 @@ termes.
-webkit-box-shadow: 0px 0px 4px gray;
box-shadow: 0px 0px 4px gray;
}
/* line 161, ../sass/_common.scss */
/* line 171, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar .dropdown-menu li a {
padding-left: 15px;
}
}
/* Block de date */
/* line 172, ../sass/_common.scss */
/* line 182, ../sass/_common.scss */
.block-date {
margin: 0px auto;
padding-top: 0px;
text-align: center;
}
/* line 177, ../sass/_common.scss */
/* line 187, ../sass/_common.scss */
.block-date .day {
text-transform: capitalize;
line-height: 15px;
font-size: 13px;
text-transform: uppercase;
}
/* line 184, ../sass/_common.scss */
/* line 194, ../sass/_common.scss */
.block-date .num {
font-size: 30px;
line-height: 35px;
font-weight: bold;
}
/* line 190, ../sass/_common.scss */
/* line 200, ../sass/_common.scss */
.block-date .month {
text-transform: uppercase;
line-height: 15px;
@@ -336,46 +344,46 @@ termes.
}

/* Page d'erreur */
/* line 200, ../sass/_common.scss */
/* line 210, ../sass/_common.scss */
#main #content .site-error .col-lg-6 {
margin: 0px auto;
float: none;
}
/* line 206, ../sass/_common.scss */
/* line 216, ../sass/_common.scss */
#main #content .site-error .panel .panel-body {
padding-bottom: 0px;
}
/* line 210, ../sass/_common.scss */
/* line 220, ../sass/_common.scss */
#main #content .site-error .panel h2 {
text-transform: none;
font-size: 25px;
margin-top: 0px;
margin-bottom: 0px;
}
/* line 218, ../sass/_common.scss */
/* line 228, ../sass/_common.scss */
#main #content .site-error .alert {
padding-bottom: 5px;
}
/* line 221, ../sass/_common.scss */
/* line 231, ../sass/_common.scss */
#main #content .site-error .alert h2 {
margin-top: 5px;
}
/* line 225, ../sass/_common.scss */
/* line 235, ../sass/_common.scss */
#main #content .site-error .alert p {
margin-bottom: 15px;
}
/* line 229, ../sass/_common.scss */
/* line 239, ../sass/_common.scss */
#main #content .site-error .alert .btn {
text-decoration: none;
}

/* Paiement */
/* line 240, ../sass/_common.scss */
/* line 250, ../sass/_common.scss */
.payment-detail-remaining-surplus {
font-size: 13px;
color: gray;
}
/* line 244, ../sass/_common.scss */
/* line 254, ../sass/_common.scss */
.payment-detail-remaining-surplus strong {
font-weight: bold;
}

+ 11
- 1
common/web/sass/_common.scss Ver arquivo

@@ -57,6 +57,7 @@
/* Navigation utilisateur en haut du site */
.container-nav-user-top {
position: relative;
z-index: 999;

.nav-user-top {
position: absolute;
@@ -125,10 +126,13 @@

}

@media screen and (max-width: 768px) {
@media screen and (max-width: 991px) {

.container-nav-user-top {
padding: 0px;
margin: 0px;
width: 100%;
max-width: none;

.nav-user-top {
position: relative;
@@ -142,6 +146,12 @@

li {
display: inline-block;

&.nav-item-producers {
.dropdown-menu {
right: -95px;
}
}
}
}


+ 1
- 1
frontend/controllers/SiteController.php Ver arquivo

@@ -184,7 +184,7 @@ class SiteController extends FrontendController

public function actionAbout()
{
$aboutFewNumbers = Yii::$app->cache->getOrSet('about_few_numbers10', function () {
$aboutFewNumbers = Yii::$app->cache->getOrSet('about_few_numbers1', function () {
$producerModule = $this->getProducerModule();
$pointSaleModule = $this->getPointSaleModule();
$userModule = $this->getUserModule();

+ 2
- 2
frontend/views/layouts/main.php Ver arquivo

@@ -57,14 +57,14 @@ $adminSettingBag = $settingModule->getAdminSettingBag();
<!DOCTYPE html>
<html lang="fr">
<head>
<title><?php if ($isHome): ?>Souke | <?= Html::encode($this->title) ?><?php else: ?><?= Html::encode($this->page_title) ?> | Souke<?php endif; ?></title>
<title><?php if ($isHome): ?>Souke &bull; <?= Html::encode($this->title) ?><?php else: ?><?= Html::encode($this->page_title) ?> &bull; Souke<?php endif; ?></title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="baseurl" content="<?= Yii::$app->urlManagerFrontend->baseUrl; ?>">
<meta name="baseurl-absolute"
content="<?= Yii::$app->urlManagerFrontend->getHostInfo() . Yii::$app->urlManagerBackend->baseUrl; ?>">
<?= Html::csrfMetaTags() ?>
<!--<link rel="icon" type="image/png" href="<?= $this->getUrlManager()->getBaseUrl(); ?>/img/favicon-distrib.png">-->
<link rel="icon" type="image/png" href="<?= $this->getUrlManager()->getBaseUrl(); ?>/img/favicon-souke-1.png">
<!--[if IE]><link rel="shortcut icon" type="image/x-icon" href="<?= \Yii::$app->urlManager->getBaseUrl(); ?>/img/favicon.ico"><![endif]-->
<?php $this->head() ?>
<!--[if lt IE 9]>

+ 1
- 1
frontend/views/site/_about_few_numbers.php Ver arquivo

@@ -28,7 +28,7 @@
<?php

function few_numbers_item($number, $description, $detail = null) {
$html = '<div class="col-md-6 item"><div class="number">'.$number.'</div><div class="description">'.$description.'</div>';
$html = '<div class="col-md-12 col-lg-12 item"><div class="number">'.$number.'</div><div class="description">'.$description.'</div>';

if($detail) {
$html .= '<div class="detail">'.$detail.'</div>';

+ 3
- 2
frontend/views/site/_button_producer_signup.php Ver arquivo

@@ -16,11 +16,12 @@ $userCurrent = $this->getUserCurrent();
<strong><?= ($producerSignupRemainingPlaces); ?></strong>
place<?php if($producerSignupRemainingPlaces > 1): ?>s<?php endif; ?> restante<?php if($producerSignupRemainingPlaces > 1): ?>s<?php endif; ?>
<?php endif; ?>

<br />
<br />
<?php endif; ?>
<?php else: ?>
<div class="label label-warning label-producer-signup-closed">
La plateforme n'accueille pas de nouveaux producteurs pour le moment
</div>
<?php endif; ?>
<br />
<br />

+ 5
- 5
frontend/views/site/iamproducer.php Ver arquivo

@@ -36,7 +36,8 @@
* termes.
*/

$this->setTitle("M'organiser dans mon activité de producteur");
//$this->setTitle("M'organiser dans mon activité de producteur");
$this->setTitle("Utiliser Souke comme logiciel de gestion");
//$this->setMeta('description', '');

$producerModule = $this->getProducerModule();
@@ -46,14 +47,13 @@ $producerModule = $this->getProducerModule();
<div class="panel panel-primary panel-padding-large">
<!--<div class="panel-heading">
<h2 class="panel-title">
<span class="glyphicon glyphicon-grain"></span>
<span class="the-title">Producteurs</span>
Vous avez besoin d'un outil pour vous organiser au quotidien ?
</h2>
</div>-->
<div class="panel-body">
<div class="hook">
Vous avez besoin d'un outil pour vous organiser au quotidien ?<br />
Avez Souke, profitez d'un logiciel de gestion simple et intuitif pour :<br />
Vous êtes producteur et vous souhaitez améliorer votre organisation au quotidien ?<br />
Avez <strong>Souke</strong>, profitez d'un logiciel de gestion simple et intuitif pour :<br />
<div class="word-animate"><span class="functionality"></span></div>
</div>
<div class="links">

+ 4
- 4
frontend/views/site/index.php Ver arquivo

@@ -52,7 +52,7 @@ $this->setMeta('description', 'Passez commande auprès de producteurs locaux') ;
<div class="panel panel-default">
<div class="panel-body">
<div class="row">
<div class="col-md-6 col-sm-12" id="wrapper-producers-list">
<div class="col-lg-6 col-md-12 col-sm-12" id="wrapper-producers-list">
<div id="producers-list">
<div id="producer-search">
<div class="input-group">
@@ -76,9 +76,9 @@ $this->setMeta('description', 'Passez commande auprès de producteurs locaux') ;

<?php if($userCurrent): ?>
<?php if($userProducerModule->isProducerBookmarked($userCurrent)): ?>
<?= Html::a('<i class="bi bi-heart-fill"></i>', ['bookmark/remove', 'idProducer' => $producer->id], ['class' => 'btn-bookmark', 'data-bs-toggle' => 'tooltip', 'data-bs-placement' => 'top', 'data-bs-original-title' => 'Supprimer de ma liste de producteurs']) ; ?>
<?= Html::a('<i class="bi bi-bookmark-heart-fill"></i>', ['bookmark/remove', 'idProducer' => $producer->id], ['class' => 'btn-bookmark', 'data-bs-toggle' => 'tooltip', 'data-bs-placement' => 'top', 'data-bs-original-title' => 'Supprimer de ma liste de producteurs']) ; ?>
<?php else: ?>
<?= Html::a('<i class="bi bi-heart"></i>', ['bookmark/add', 'idProducer' => $producer->id], ['class' => 'btn-bookmark', 'data-bs-toggle' => 'tooltip', 'data-bs-placement' => 'top', 'data-bs-original-title' => 'Ajouter à ma liste de producteurs']) ; ?>
<?= Html::a('<i class="bi bi-bookmark-heart"></i>', ['bookmark/add', 'idProducer' => $producer->id], ['class' => 'btn-bookmark', 'data-bs-toggle' => 'tooltip', 'data-bs-placement' => 'top', 'data-bs-original-title' => 'Ajouter à ma liste de producteurs']) ; ?>
<?php endif; ?>
<?php endif; ?>
</h2>
@@ -103,7 +103,7 @@ $this->setMeta('description', 'Passez commande auprès de producteurs locaux') ;
$columnWidth = $producer->website ? 4 : 6;
?>
<div class="col-md-<?= $columnWidth ?>">
<?= Html::a('<i class="bi bi-geo-alt-fill"></i> '.Html::encode($producer->postcode.' '.$producer->city),'javascript:void(0);', ['class' => 'btn btn-secondary view-producer', 'data-id' => $producer->id, 'title' => Html::encode($producer->postcode.' '.$producer->city)]);?>
<?= Html::a('<i class="bi bi-geo-alt-fill"></i> '.Html::encode($producer->postcode.' '.$producer->city),'javascript:void(0);', ['class' => 'btn btn-secondary view-producer location', 'data-id' => $producer->id, 'title' => Html::encode($producer->postcode.' '.$producer->city)]);?>
</div>
<?php if($producer->website): ?>
<div class="col-md-<?= $columnWidth ?>">

+ 83
- 71
frontend/views/site/service.php Ver arquivo

@@ -47,94 +47,106 @@ $this->setIcon('console');
<div class="site-service">
<div class="content-text">
<div id="row-functionalities-rates">
<div class="panel panel-primary" id="block-functionnalities">
<div class="panel panel-primary panel-padding-large panel-margin-bottom" id="block-functionnalities">
<div class="panel-heading">
<h2 class="panel-title">
<span class="glyphicon glyphicon-cog"></span>
<span class="the-title">Fonctionnalités</span>
</h2>
</div>
<div class="panel-body">
<?= block_feature('grain', "Un espace producteur dédié accessible à vos clients pour leur présenter votre activité et gérer vos prises de commandes."); ?>
<?= block_feature("cog", "Une administration complète et intuitive pour gérer votre activité de producteur."); ?>
<div class="clr"></div>
<?= block_feature("calendar", "Planification des jours de distributions."); ?>
<?= block_feature("download-alt", "Récapitulatif des commandes par jour de distribution (PDF et CSV).<br />Génération d'étiquettes (PDF)."); ?>
<?= block_feature("cutlery", "Gestion des produits, catégories et prix spécifiques."); ?>
<?= block_feature("map-marker", "Gestion des points de vente."); ?>
<?= block_feature("repeat", "Gestion des abonnements pour les commandes récurrentes."); ?>
<?= block_feature("user", "Gestion des clients."); ?>
<?= block_feature("euro", "Système de crédit (ou cagnotte) permettant la comptabilisation des paiements."); ?>
<?= block_feature("credit-card", "Paiement en ligne possible via la plateforme <strong>Stripe</strong> pour que les clients puissent alimenter leur crédit de manière autonome."); ?>
<?= block_feature("bullhorn", "Communication facilitée avec les clients via l'envoi d'emails en masse."); ?>
<?= block_feature("folder-open", "Génération de bons de livraison, factures & devis."); ?>
<?= block_feature("stats", "Statistiques et rapports de vente."); ?>
<?= block_feature("transfer", "Exports vers les logiciels <strong>Evoliz</strong> (comptabilité) et <strong>Tiller</strong> (caisse)."); ?>
<div class="row">
<?= block_feature('shop', "Une boutique dédiée accessible à vos clients pour leur présenter votre activité et gérer vos prises de commandes."); ?>
<?= block_feature("gear", "Une administration complète et intuitive pour gérer votre activité de producteur."); ?>
</div>
<div class="row">
<?= block_feature("calendar3", "Planification des jours de distributions."); ?>
<?= block_feature("download", "Récapitulatif des commandes par jour de distribution (PDF et CSV), génération d'étiquettes (PDF)."); ?>
</div>
<div class="row">
<?= block_feature("basket", "Gestion des produits, catégories et prix spécifiques."); ?>
<?= block_feature("geo-alt", "Gestion des points de vente."); ?>
</div>
<div class="row">
<?= block_feature("arrow-repeat", "Gestion des abonnements pour les commandes récurrentes."); ?>
<?= block_feature("people", "Gestion des clients."); ?>
</div>
<div class="row">
<?= block_feature("currency-euro", "Système de crédit (ou cagnotte) permettant la comptabilisation des paiements."); ?>
<?= block_feature("credit-card", "Paiement en ligne possible via la plateforme <strong>Stripe</strong> pour que les clients puissent alimenter leur crédit de manière autonome."); ?>
</div>
<div class="row">
<?= block_feature("megaphone", "Communication facilitée avec les clients via l'envoi d'emails en masse."); ?>
<?= block_feature("file-earmark-text", "Génération de bons de livraison, factures & devis."); ?>
</div>
<div class="row">
<?= block_feature("graph-up", "Statistiques et rapports de vente."); ?>
<?= block_feature("cloud-arrow-up", "Exports vers les logiciels <strong>Evoliz</strong> (comptabilité) et <strong>Tiller</strong> (caisse)."); ?>
</div>
</div>
</div>

<div class="panel panel-primary" id="block-services">
<div class="panel panel-primary panel-padding-large panel-margin-bottom" id="block-services">
<div class="panel-heading">
<h2 class="panel-title">
<span class="glyphicon glyphicon-wrench"></span>
<span class="the-title">Services</span>
</h2>
</div>
<div class="panel-body">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-body">
<h3>Évolutions régulières</h3>
<p>Les évolutions sont développées en fonction des retours de tous les producteurs
et le
logiciel est régulièrement mis à jour.<br>
Si vous avez un besoin spécifique à votre activité, je peux réaliser des
développements sur-mesure <a
href="<?= \Yii::$app->urlManager->createUrl(['site/contact']) ?>">sur
devis</a>.
</p>
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-body">
<h3>Évolutions régulières</h3>
<p>Les évolutions sont développées en fonction des retours de tous les producteurs
et le
logiciel est régulièrement mis à jour.<br>
Si vous avez un besoin spécifique à votre activité, je peux réaliser des
développements sur-mesure <a
href="<?= \Yii::$app->urlManager->createUrl(['site/contact']) ?>">sur
devis</a>.
</p>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-body">
<h3>Formation & accompagnement</h3>
<p>Au moment du lancement de votre circuit court sur Opendistrib, ainsi que tout au
long de
votre projet,
j'assure la formation et l'accompagnement dans l'utilisation du
logiciel.</p>
<div class="panel panel-default">
<div class="panel-body">
<h3>Formation & accompagnement</h3>
<p>Au moment du lancement de votre circuit court sur Souke, ainsi que tout au
long de
votre projet,
j'assure la formation et l'accompagnement dans l'utilisation du
logiciel.</p>
</div>
</div>
</div>
</div>

<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-body">
<h3>Support</h3>
<p>Je suis disponible pour répondre rapidement à toutes vos questions par email
ou par
téléphone.</p>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-body">
<h3>Support</h3>
<p>Je suis disponible pour répondre rapidement à toutes vos questions par email
ou par
téléphone.</p>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-body">
<h3>Maintenance</h3>
<p>Je travaille contamment sur la qualité/sécurité du logiciel et
interviens au plus vite en cas de bug.</p>
<div class="panel panel-default">
<div class="panel-body">
<h3>Maintenance</h3>
<p>Je travaille contamment sur la qualité/sécurité du logiciel et
interviens au plus vite en cas de bug.</p>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-body">
<h3>Hébergement</h3>
<p>La plateforme est hébergée en France par la société <a
href="https://www.alwaysdata.com/">Alwaysdata</a>.</p>
<div class="panel panel-default">
<div class="panel-body">
<h3>Hébergement</h3>
<p>La plateforme est hébergée en France par la société <a
href="https://www.alwaysdata.com/">Alwaysdata</a>.</p>
</div>
</div>
</div>
</div>
</div>
</div>

<div class="panel panel-primary" id="block-rates">
<div class="panel panel-primary panel-padding-large panel-margin-bottom" id="block-rates">
<div class="panel-heading">
<h2 class="panel-title">
<span class="glyphicon glyphicon-euro"></span>
@@ -160,22 +172,22 @@ $this->setIcon('console');
<p class="text-center">
<?= $this->render('_button_producer_signup'); ?>
<?php if (Yii::$app->user->isGuest): ?>
<a class="btn btn-default"
<a class="btn btn-secondary"
href="<?= $this->getUrlManagerFrontend()->createUrl(['site/producer', 'id' => 32]); ?>">
<span class="glyphicon glyphicon-check"></span> Je teste le logiciel
<i class="bi bi-check2-square"></i> Je teste le logiciel
</a>
<?php endif; ?>
<a class="btn btn-default" href="<?= \Yii::$app->parameterBag->get('appointmentUrl'); ?>"
<a class="btn btn-secondary" href="<?= \Yii::$app->parameterBag->get('appointmentUrl'); ?>"
target="_blank">
<span class="glyphicon glyphicon-education"></span> Je demande une démo
<i class="bi bi-eye"></i> Je demande une démo
</a>
<a class="btn btn-default"
<a class="btn btn-secondary"
href="<?= $this->getUrlManagerFrontend()->createUrl(['site/about']); ?>">
<span class="glyphicon glyphicon-info-sign"></span> À propos
<i class="bi bi-info-circle"></i> À propos
</a>
<a class="btn btn-default"
<a class="btn btn-secondary"
href="<?= $this->getUrlManagerFrontend()->createUrl(['site/contact']); ?>">
<span class="glyphicon glyphicon-envelope"></span> Contact
<i class="bi bi-envelope"></i> Contact
</a>
</p>
</div>
@@ -191,7 +203,7 @@ $this->setIcon('console');
function block_feature($icon, $description)
{
return '<div class="block col-md-6">
<span class="glyphicon glyphicon-' . $icon . '"></span>
<i class="bi bi-' . $icon . '"></i>
<p>' . $description . '</p>
</div>';
}

+ 271
- 246
frontend/web/css/screen.css
Diferenças do arquivo suprimidas por serem muito extensas
Ver arquivo


BIN
frontend/web/img/favicon-souke-1.png Ver arquivo

Antes Depois
Largura: 32  |  Altura: 32  |  Tamanho: 2.0KB

BIN
frontend/web/img/favicon-souke-2.png Ver arquivo

Antes Depois
Largura: 32  |  Altura: 32  |  Tamanho: 936B

BIN
frontend/web/img/favicon-souke-3.png Ver arquivo

Antes Depois
Largura: 32  |  Altura: 32  |  Tamanho: 973B

BIN
frontend/web/img/favicon-souke-4.png Ver arquivo

Antes Depois
Largura: 32  |  Altura: 32  |  Tamanho: 1.2KB

+ 3
- 0
frontend/web/js/frontend.js Ver arquivo

@@ -182,8 +182,11 @@ var producersModule = {
var $wrapperProducerMap = $('#wrapper-producers-map');

$map.width($wrapperProducerMap.width());
$map.height($(window).height() - 150);

$(window).resize(function(){
$map.width($wrapperProducerMap.width());
$map.height($(window).height() - 150);
});

$(window).scroll(function(){

+ 61
- 68
frontend/web/sass/_responsive.scss Ver arquivo

@@ -38,83 +38,42 @@ termes.

}

@media screen and (min-width: 768px) and (max-width: 1000px) {

#main {
min-height: 500px;
}

#header {
nav {
.navbar-nav {
padding-top: 10px;
}

ul {
li {
a {
padding: 3px 7px;
font-size: 15px;
}
}
}
}
}

.site-producers {
#wrapper-producers-map {
display: none;
}
}

}

@media screen and (max-width: 768px) {

#content {
padding-top: 20px;
padding-bottom: 20px;
}

#main {
padding-bottom: 0px;
min-height: 550px;

.container {
padding-left: 15px;
padding-right: 15px;
}
}
@media screen and (max-width: 991px) {

#header {
position: relative;
text-align: center;
padding: 10px 0px;

#the-header {
width: 100%;
}

#link-home {
padding-left: 15px;
position: relative;
top: 0px;
display: inline-block;

img {
margin-bottom: 0px;
}
}

.navbar-toggler {
position: absolute;
top: 0px;
top: 25px;
right: 0px;
}

.navbar-collapse {
border: 0px none;
background-color: white;
}

nav {
width: 100%;
height: auto;

.navbar-collapse {
border: 0px none;
}

.collapse {
position: relative;
top: 0px;
@@ -124,17 +83,25 @@ termes.
position: relative;
display: block;
float: none;
margin-top: 0px;
margin-top: 20px;
border: 0px none;
padding-bottom: 20px;

li {
display: block;
float: none;

a {
font-family: 'worksans_regular';
display: block;
padding: 10px;
padding: 5px;
margin: 0px;
border-bottom: 0px none;

&.active {
border-bottom: 0px none;
background-color: $color-secondary;
color: white;
}
}
}
}
@@ -142,28 +109,50 @@ termes.
}
}

#footer {
position: relative;
#content {
padding-top: 20px;
padding-bottom: 20px;

.bull {
.panel.panel-padding-large {
.panel-body {
padding: 20px;
}
}
}

#footer a {
padding: 0px 5px;
}

.site-producers {
#wrapper-producers-map {
display: none;
}
}
}

a {
display: block;
text-align: center;
@media screen and (max-width: 768px) {

#main {
padding-bottom: 0px;
min-height: 550px;

.container {
padding-left: 15px;
padding-right: 15px;
}
}

.home {
#footer {
position: relative;

#content #presentation-distrib h3 {
color: $color-text;
.bull {
display: none;
}

#main {
background-image: none;
background-color: #FFF8DC;
a {
display: block;
text-align: center;
}
}

@@ -234,6 +223,10 @@ termes.
.col-lg-5 {
padding: 0px;
}

.alert-information {
margin-top: 20px;
}
}

#content .site-service {

+ 40
- 18
frontend/web/sass/screen.scss Ver arquivo

@@ -542,16 +542,15 @@ section#header-title {
padding-left: 70px;
min-height: 50px;

.glyphicon {
.bi {
font-size: 40px;
position: absolute;
left: 0px;
top: 0px;
top: -9px;
}

p {
font-family: 'capsuularegular';
font-size: 18px;

}

a {
@@ -573,19 +572,38 @@ section#header-title {

#block-services {
.panel-body {
.panel-body {
padding-bottom: 0px;
h3 {
margin-top: 0px;

.panel-default {
@include box-shadow(none);

.panel-body {
padding: 5px;

h3 {
margin-top: 0px;
color: black;
font-size: 1.2rem;
}
}
}
}
}

#block-rates {

.panel-default {
@include box-shadow(none);
.panel-heading {
padding: 0px;
margin-bottom: 20px;
}
.panel-body {
padding: 0px;
}
}

table {
th {
//font-family: 'capsuularegular';
font-weight: bold;
font-size: 14px;
}
@@ -717,6 +735,7 @@ section#header-title {
height: auto;

span.functionality {
display: inline-block;
@include border-radius(15px);
background-color: $color-gray;
color: black;
@@ -742,7 +761,7 @@ section#header-title {

#producers-list {
#producer-search {
margin-bottom: 30px;
margin-bottom: 40px;
@include box-shadow(0px 0px 15px #d5d5d5);

.input-group-text {
@@ -770,10 +789,11 @@ section#header-title {
}

.panel {
margin-bottom: 30px;
margin-bottom: 40px;

.panel-body {
border: 0px none;
overflow: hidden;

h2 {
margin-top: 0px;
@@ -787,8 +807,8 @@ section#header-title {

.btn-bookmark {
position: relative;
top: -4px;
font-size: 1rem;
top: 0px;
font-size: 1.3rem;
color: gray;
}
}
@@ -819,19 +839,21 @@ section#header-title {
padding-bottom: 0px;
margin: 0px;

/*&.btn-secondary {
&.btn-secondary {
color: $color-secondary;
background-color: white;
border: solid 1px white;
@include box-shadow(-30px 0px 15px -15px $color-gray inset);

&:hover {
color: white;
background-color: $color-secondary;
border: solid 1px $color-secondary;
//color: white;
//background-color: $color-secondary;
//border: solid 1px $color-secondary;
background-color: $color-gray-light;
border: solid 1px $color-gray-light;
@include box-shadow(none);
}
}*/
}

&.btn-primary {


+ 1
- 2
producer/views/layouts/main.php Ver arquivo

@@ -74,8 +74,7 @@ if (!Yii::$app->user->isGuest) {
<meta name="base-url" content="<?= \Yii::$app->urlManager->baseUrl; ?>">
<meta name="slug-producer" content="<?= $producer->slug; ?>">
<?= Html::csrfMetaTags() ?>
<link rel="icon" type="image/png"
href="<?php echo \Yii::$app->urlManager->getBaseUrl(); ?>/img/favicon-distrib.png"/>
<link rel="icon" type="image/png" href="<?php echo \Yii::$app->urlManager->getBaseUrl(); ?>/img/favicon-souke-1.png"/>
<?php $this->head() ?>
<?= $this->render('@common/views/matomo.php') ?>
</head>

BIN
producer/web/img/favicon-distrib.png Ver arquivo

Antes Depois
Largura: 32  |  Altura: 32  |  Tamanho: 1.2KB

BIN
producer/web/img/favicon-souke-1.png Ver arquivo

Antes Depois
Largura: 32  |  Altura: 32  |  Tamanho: 2.0KB

BIN
producer/web/img/favicon-souke-2.png Ver arquivo

Antes Depois
Largura: 32  |  Altura: 32  |  Tamanho: 936B

BIN
producer/web/img/favicon4.png Ver arquivo

Antes Depois
Largura: 32  |  Altura: 32  |  Tamanho: 1.1KB

Carregando…
Cancelar
Salvar