add translations
This commit is contained in:
parent
7f40495d58
commit
953b195be3
|
@ -1,27 +1,30 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="BranchesTreeState">
|
||||
<expand>
|
||||
<path>
|
||||
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
|
||||
<item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
|
||||
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
|
||||
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
|
||||
<item name="GROUP_NODE:origin" type="e8cecc67:BranchNodeDescriptor" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="7b6ae3ea-b7de-4daa-94af-b6fb4f3c8b8e" name="Default Changelist" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/config/routes.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/config/routes.yaml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/ChangePassword/change_password.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/ChangePassword/change_password.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/ChangePassword/change_password_content.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/ChangePassword/change_password_content.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/Registration/check_email.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/Registration/check_email.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/Registration/confirmed.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/Registration/confirmed.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/Registration/register.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/Registration/register.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/Registration/register_content.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/Registration/register_content.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/Resetting/request.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/Resetting/request.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/Security/login.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/Security/login.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/Security/login_content.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/old/app/Resources/FOSUserBundle/views/Security/login_content.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/old/app/Resources/HWIOAuthBundle/views/Connect/login.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/old/app/Resources/HWIOAuthBundle/views/Connect/login.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/old/app/Resources/HWIOAuthBundle/views/layout.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/old/app/Resources/HWIOAuthBundle/views/layout.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/old/app/Resources/views/default/login-choices.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/old/app/Resources/views/default/login-choices.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/old/app/Resources/views/default/main-screen.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/old/app/Resources/views/default/main-screen.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Controller/Admin/DashboardController.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/Controller/Admin/DashboardController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Controller/DefaultController.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/Controller/DefaultController.php" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/public/css/pages/global.scss" beforeDir="false" afterPath="$PROJECT_DIR$/public/css/pages/global.scss" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/templates/base.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/templates/base.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/templates/default/home.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/templates/default/home.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/templates/default/index.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/templates/default/index.html.twig" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/var/log/dev.log" beforeDir="false" afterPath="$PROJECT_DIR$/var/log/dev.log" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/webpack.config.js" beforeDir="false" afterPath="$PROJECT_DIR$/webpack.config.js" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
@ -240,7 +243,7 @@
|
|||
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
|
||||
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
||||
<property name="WebServerToolWindowFactoryState" value="true" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/src" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/translations" />
|
||||
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
||||
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
||||
<property name="nodejs_package_manager_path" value="yarn" />
|
||||
|
@ -248,19 +251,19 @@
|
|||
<property name="settings.editor.selected.configurable" value="web-ide.project.structure" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/translations" />
|
||||
<recent name="$PROJECT_DIR$/src" />
|
||||
<recent name="$PROJECT_DIR$" />
|
||||
<recent name="$PROJECT_DIR$/public" />
|
||||
<recent name="$PROJECT_DIR$/public/assets/img" />
|
||||
</key>
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/src" />
|
||||
<recent name="$PROJECT_DIR$/src/AppBundle" />
|
||||
<recent name="$PROJECT_DIR$" />
|
||||
<recent name="$PROJECT_DIR$/old" />
|
||||
</key>
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/src" />
|
||||
<recent name="$PROJECT_DIR$" />
|
||||
<recent name="$PROJECT_DIR$/public" />
|
||||
<recent name="$PROJECT_DIR$/public/assets/img" />
|
||||
<recent name="$PROJECT_DIR$/src/Entity" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunManager">
|
||||
<configuration name="phpunit.xml.dist" type="PHPUnitRunConfigurationType" factoryName="PHPUnit">
|
||||
|
@ -285,6 +288,7 @@
|
|||
<workItem from="1686601233370" duration="1574000" />
|
||||
<workItem from="1686851564377" duration="1602000" />
|
||||
<workItem from="1687277447224" duration="3841000" />
|
||||
<workItem from="1687943901322" duration="1082000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
|
@ -337,9 +341,9 @@
|
|||
</state>
|
||||
<state x="583" y="133" width="1201" height="770" key="find.popup/0.0.1920.1036@0.0.1920.1036" timestamp="1687514545446" />
|
||||
<state x="583" y="139" width="1201" height="802" key="find.popup/0.0.1920.1080/1920.0.3440.1440@0.0.1920.1080" timestamp="1687280123841" />
|
||||
<state x="624" y="164" width="672" height="676" key="search.everywhere.popup" timestamp="1687514088526">
|
||||
<state x="624" y="164" width="672" height="676" key="search.everywhere.popup" timestamp="1687944927418">
|
||||
<screen x="0" y="0" width="1920" height="1036" />
|
||||
</state>
|
||||
<state x="624" y="164" width="672" height="676" key="search.everywhere.popup/0.0.1920.1036@0.0.1920.1036" timestamp="1687514088526" />
|
||||
<state x="624" y="164" width="672" height="676" key="search.everywhere.popup/0.0.1920.1036@0.0.1920.1036" timestamp="1687944927418" />
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,13 @@
|
|||
@import 'pages/libs';
|
||||
@import 'fonts/all';
|
||||
@import 'split/override_libs';
|
||||
@import 'split/custom_vars';
|
||||
@import 'split/formulaires';
|
||||
@import 'split/typo';
|
||||
@import 'pages/global';
|
||||
@import 'pages/demo';
|
||||
@import 'pages/home';
|
||||
@import 'pages/history';
|
||||
@import 'pages/dashboard';
|
||||
@import 'pages/special';
|
||||
@import 'pages/responsive';
|
|
@ -0,0 +1,6 @@
|
|||
@font-face {
|
||||
font-family: "Source Sans";
|
||||
src: url("source-sans-pro/SourceSansPro-Bold.otf") format('opentype');
|
||||
src: url("source-sans-pro/SourceSansPro-Regular.otf") format('opentype');
|
||||
src: url("source-sans-pro/SourceSansPro-Light.otf") format('opentype');
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,4 @@
|
|||
$brand-primary: darken(#428bca, 20%);
|
||||
|
||||
// the ~ allows you to reference things in node_modules
|
||||
@import '~bootstrap-sass/assets/stylesheets/bootstrap';
|
|
@ -0,0 +1,122 @@
|
|||
#caisse-now {
|
||||
.product-box {
|
||||
display: inline-block;
|
||||
margin-right: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
width: 100%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.product-button {
|
||||
width: 80%;
|
||||
text-overflow-ellipsis: "...";
|
||||
}
|
||||
|
||||
.listing-products {
|
||||
|
||||
button.active {
|
||||
background: yellowgreen;
|
||||
}
|
||||
|
||||
.btn, button {
|
||||
font-size: 1.6rem;
|
||||
padding: 1.5rem;
|
||||
-webkit-border-radius: 1rem;
|
||||
-moz-border-radius: 1rem;
|
||||
border-radius: 1rem;
|
||||
border-color: $all-text-color;
|
||||
box-shadow: 5px 3px 10px 2px #ddd;
|
||||
border-width: 0;
|
||||
|
||||
&.btn-primary {
|
||||
background-color: $deepblue;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: $lightblue;
|
||||
}
|
||||
}
|
||||
|
||||
.badge-default {
|
||||
background: $lightblue;
|
||||
}
|
||||
|
||||
.badge-success {
|
||||
background: mix(green, $lightblue);
|
||||
}
|
||||
}
|
||||
|
||||
.input-comment {
|
||||
width: calc(100% - 40px);
|
||||
}
|
||||
}
|
||||
|
||||
// container of categories
|
||||
.horizontal-land {
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
//width: 100%;
|
||||
height: 75vh;
|
||||
background: #ccc;
|
||||
padding: 0.5rem;
|
||||
}
|
||||
|
||||
// list of one category
|
||||
.one-category {
|
||||
background: #dedede;
|
||||
width: 350px;
|
||||
margin: 0 4px;
|
||||
height: calc(74vh - 1rem);
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
//vertical-align: top;
|
||||
white-space: nowrap;
|
||||
//float: left;
|
||||
h2 {
|
||||
font-weight: bold;
|
||||
|
||||
&:first-letter {
|
||||
text-transform: capitalize;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.category-listing {
|
||||
border: solid 1px $grey;
|
||||
padding: 1rem;
|
||||
margin: 0.5rem;
|
||||
border-radius: 0.25rem;
|
||||
}
|
||||
|
||||
.validate_selling {
|
||||
margin: 0.25rem;
|
||||
}
|
||||
|
||||
.product-listing {
|
||||
height: 70vh;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.sellings {
|
||||
.remove-item {
|
||||
margin-left: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
#not_loaded {
|
||||
width: 100%;
|
||||
height: 75vh;
|
||||
}
|
||||
|
||||
.selling-ok {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 2em;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.block {
|
||||
display: block;
|
||||
width: calc(100% - 2em);
|
||||
text-align: center;
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
.key-figure{
|
||||
font-size: 2em;
|
||||
font-weight: light;
|
||||
}
|
|
@ -0,0 +1,136 @@
|
|||
|
||||
body {
|
||||
background: #F5F5F5;
|
||||
font: 18px/1.5 sans-serif;
|
||||
}
|
||||
|
||||
h1, h2 {
|
||||
line-height: 1.2;
|
||||
margin: 0 0 .5em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 36px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 21px;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 0 1em 0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: $primary;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
code {
|
||||
background: #F5F5F5;
|
||||
max-width: 100px;
|
||||
padding: 2px 6px;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
background: #FFF;
|
||||
margin: 1em auto;
|
||||
//max-width: 800px;
|
||||
width: 95%;
|
||||
}
|
||||
|
||||
#container {
|
||||
padding: 2em;
|
||||
}
|
||||
|
||||
#homepage{
|
||||
@extend .bigger-text;
|
||||
h1 span {
|
||||
display: block;
|
||||
font-size: 75%;
|
||||
}
|
||||
}
|
||||
.hint,
|
||||
.product-values-block{
|
||||
@extend .bigger-text;
|
||||
h2{
|
||||
font-size: 5rem;
|
||||
}
|
||||
}
|
||||
.bigger-text{
|
||||
font-size: 2rem;
|
||||
line-height: 3.5rem;
|
||||
}
|
||||
#icon-status, #icon-book {
|
||||
float: left;
|
||||
height: 64px;
|
||||
margin-right: 1em;
|
||||
margin-top: -4px;
|
||||
width: 64px;
|
||||
}
|
||||
|
||||
#icon-book {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
#wrapper {
|
||||
//width: 80%;
|
||||
margin: 2em auto;
|
||||
}
|
||||
|
||||
#icon-book {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#status a, #next a {
|
||||
display: block;
|
||||
}
|
||||
|
||||
@-webkit-keyframes fade-in {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
@keyframes fade-in {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
.sf-toolbar {
|
||||
opacity: 0;
|
||||
-webkit-animation: fade-in 1s .2s forwards;
|
||||
animation: fade-in 1s .2s forwards;
|
||||
}
|
||||
}
|
||||
|
||||
.header-block{
|
||||
background: $darkblue;
|
||||
.btn-default{
|
||||
color: $grey;
|
||||
}
|
||||
.btn{
|
||||
|
||||
span{
|
||||
position: absolute;
|
||||
right: 2.5em;
|
||||
top: 1em;
|
||||
}
|
||||
}
|
||||
}
|
||||
#menu-dashboard .nav .logo-home.btn-default{
|
||||
background: $darkblue;
|
||||
height: 52px;
|
||||
font-size: 1em;
|
||||
}
|
|
@ -0,0 +1,315 @@
|
|||
@import '../split/custom_vars';
|
||||
|
||||
body {
|
||||
color: $all-text-color;
|
||||
font-family: "Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-size: 1rem;
|
||||
line-height: 2rem;
|
||||
}
|
||||
|
||||
|
||||
#wrapper {
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.main-screen {
|
||||
min-height: 80vh;
|
||||
}
|
||||
|
||||
.bg-dark {
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.bg-shader {
|
||||
@extend .bg-dark;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.bg-img {
|
||||
background-attachment: fixed;
|
||||
background-size: cover;
|
||||
overflow: hidden;
|
||||
background-position: center;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.bg-accessories {
|
||||
@extend .bg-img;
|
||||
background-image: url('../../img/accessories.jpg');
|
||||
}
|
||||
|
||||
.bg-girl {
|
||||
@extend .bg-img;
|
||||
background-image: url('../../img/girl_computer.jpg');
|
||||
}
|
||||
|
||||
.bg-color {
|
||||
background: $deepblue;
|
||||
color: $light;
|
||||
|
||||
a {
|
||||
color: $lightblue;
|
||||
}
|
||||
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.logo-main {
|
||||
color: $logo-color;
|
||||
}
|
||||
|
||||
.big-footer {
|
||||
background: $dark;
|
||||
color: $light;
|
||||
height: 4em;
|
||||
padding: 1em;
|
||||
box-sizing: border-box;
|
||||
position: static;
|
||||
width: 100%;
|
||||
bottom: 0;
|
||||
display: block;
|
||||
float:left;
|
||||
}
|
||||
|
||||
thead {
|
||||
background: $darkblue;
|
||||
color: $light;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
label {
|
||||
min-width: 20em;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.try {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.padded {
|
||||
padding: 1rem;
|
||||
|
||||
&-v {
|
||||
padding: 0;
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.marged {
|
||||
margin: 1rem;
|
||||
|
||||
&-v {
|
||||
margin: 0;
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
&-h {
|
||||
margin: 0;
|
||||
margin-right: 1rem;
|
||||
margin-left: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.bgwarning {
|
||||
background: orange;
|
||||
color: #ee5555;
|
||||
}
|
||||
|
||||
.bgdanger {
|
||||
background: indianred;
|
||||
color: #333;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.bgsuccess {
|
||||
background: greenyellow;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.previsionnel {
|
||||
font-size: 1rem;
|
||||
|
||||
label {
|
||||
min-width: 220px;
|
||||
}
|
||||
|
||||
.big-number {
|
||||
font-size: 1.85rem;
|
||||
color: #2B2d42;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
html, h1, h2, h3, h4, h5, h6 {
|
||||
font-family: Source Sans, Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
input {
|
||||
width: auto;
|
||||
min-width: 2em;
|
||||
}
|
||||
|
||||
#menu-dashboard {
|
||||
background: $dark;
|
||||
display: flex;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
height: 100vh;
|
||||
width: 13vw;
|
||||
min-width: 300px;
|
||||
overflow-x: auto;
|
||||
z-index: 10;
|
||||
|
||||
.nav {
|
||||
width: 100%;
|
||||
min-width: 300px;
|
||||
display: block;
|
||||
border-right: solid 2px mix($dark, $grey);
|
||||
|
||||
.btn {
|
||||
color: $light;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color: $light;
|
||||
|
||||
&:hover {
|
||||
background: mix($deepblue, $light);
|
||||
color: $dark;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
i.fa {
|
||||
float: left;
|
||||
margin-right: 1em;
|
||||
color: $light;
|
||||
}
|
||||
}
|
||||
|
||||
.nav > li > a:hover, .nav > li > a {
|
||||
&:focus {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: $lightblue;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: $lightblue;
|
||||
}
|
||||
}
|
||||
|
||||
.btn {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
background: transparent;
|
||||
|
||||
}
|
||||
|
||||
.btn-success {
|
||||
background-color: $deepblue;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
tr {
|
||||
&.bg-success {
|
||||
td {
|
||||
background: greenyellow;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.table {
|
||||
> div {
|
||||
&:hover {
|
||||
background: #ccc;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.table > thead > tr > td,
|
||||
table td {
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
.login-fosub {
|
||||
.padded {
|
||||
padding: 3em;
|
||||
}
|
||||
|
||||
input[type=submit] {
|
||||
background: $primary;
|
||||
color: $light;
|
||||
display: block;
|
||||
margin-top: 1em;
|
||||
padding: 1em;
|
||||
border: 0;
|
||||
width: 100%;
|
||||
|
||||
&:hover {
|
||||
background: $lightblue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#fos_user_profile_form {
|
||||
div {
|
||||
margin: 0.5em auto;
|
||||
}
|
||||
}
|
||||
|
||||
#bodyland {
|
||||
min-height: 100vh;
|
||||
.container {
|
||||
min-height: 90vh;
|
||||
}
|
||||
|
||||
> .row {
|
||||
min-height: 90vh;
|
||||
// for crud forms
|
||||
table{
|
||||
thead{
|
||||
th{
|
||||
padding: 0.5rem;
|
||||
}
|
||||
}
|
||||
+ ul{
|
||||
a {
|
||||
margin-top: 1em;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
table {
|
||||
margin-top: 2em;
|
||||
}
|
||||
}
|
||||
|
||||
#menu_button {
|
||||
z-index: 10;
|
||||
position: absolute;
|
||||
right: 1em;
|
||||
top: -2px;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.heading-of-list {
|
||||
a {
|
||||
margin-top: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
.hint {
|
||||
margin-top: 1em;
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
|
||||
.main-section {
|
||||
padding: 1rem;
|
||||
display: flex;
|
||||
color: $light;
|
||||
justify-content: center;
|
||||
h1 {
|
||||
font-size: 4em;
|
||||
}
|
||||
h2 {
|
||||
color: $light !important;
|
||||
}
|
||||
> div {
|
||||
height: 80vh;
|
||||
padding-top: 25vh;
|
||||
max-widht: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.product-values {
|
||||
color: $light;
|
||||
padding: 4rem;
|
||||
padding-top: 25vh;
|
||||
}
|
||||
|
||||
#homepage {
|
||||
h2, h3, h4, h5, h6 {
|
||||
color: $light;
|
||||
}
|
||||
font-size: 1.5rem;
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
@import '~font-awesome/css/font-awesome.css';
|
||||
@import '~bootstrap-sass/assets/stylesheets/bootstrap';
|
||||
@import '~intro.js/minified/introjs.min.css';
|
||||
@import '~intro.js/themes/introjs-dark.css';
|
|
@ -0,0 +1,188 @@
|
|||
@media all and(max-width: 1600px) {
|
||||
.big-footer{
|
||||
padding-left: 5em;
|
||||
}
|
||||
#caisse-now{
|
||||
margin-left: -1em;
|
||||
}
|
||||
}
|
||||
@media all and(max-width: 1200px) {
|
||||
#caisse-now{
|
||||
margin-left: 0;
|
||||
}
|
||||
.big-footer{
|
||||
padding-left: 0;
|
||||
}
|
||||
nav {
|
||||
min-width: auto;
|
||||
}
|
||||
html, body {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
.bg-shader {
|
||||
height: 100%;
|
||||
min-height: 100vh;
|
||||
}
|
||||
.product-values-block {
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
#homepage {
|
||||
.main-section {
|
||||
padding: 2rem;
|
||||
}
|
||||
|
||||
.btn {
|
||||
display: block;
|
||||
width: 100%;
|
||||
font-size: 1.25em;
|
||||
}
|
||||
}
|
||||
#caisse-now {
|
||||
.product-box {
|
||||
width: 100%;
|
||||
&.active{
|
||||
.product-button{
|
||||
background: greenyellow;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.product-button {
|
||||
min-width: calc(100% - 56px)
|
||||
}
|
||||
|
||||
.listing-products {
|
||||
|
||||
.btn, button {
|
||||
font-size: 1rem;
|
||||
padding: 0.2em;
|
||||
border-radius: 0.3em;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media all and(max-width: 1200px) {
|
||||
|
||||
#bodyland {
|
||||
.container {
|
||||
min-height: 100vh;
|
||||
width: 80vw;
|
||||
}
|
||||
}
|
||||
#menu-dashboard {
|
||||
font-size: 1rem;
|
||||
width: 19vw;
|
||||
min-width: 200px;
|
||||
|
||||
.nav {
|
||||
min-width: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
form {
|
||||
margin-top: 3em;
|
||||
|
||||
select {
|
||||
width: 100%;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
+ ul {
|
||||
margin-top: 1em;
|
||||
list-style-type: none;
|
||||
|
||||
a {
|
||||
display: block;
|
||||
|
||||
.fa {
|
||||
margin-right: 1em;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media all and(max-width: 600px) {
|
||||
|
||||
#menu_button{
|
||||
|
||||
}
|
||||
html, body {
|
||||
font-size: 1rem;
|
||||
}
|
||||
#menu-dashboard .nav .logo-home.btn-default {
|
||||
height: auto;
|
||||
font-size: 2em;
|
||||
}
|
||||
#menu-dashboard {
|
||||
width: 100vw;
|
||||
visibility: hidden;
|
||||
|
||||
&.shown {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.nav {
|
||||
|
||||
min-width: 200px;
|
||||
height: 100vh;
|
||||
overflow: auto;
|
||||
|
||||
a {
|
||||
font-size: 2rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.main-section > div {
|
||||
padding-top: 0;
|
||||
}
|
||||
.product-values {
|
||||
padding: 0;
|
||||
}
|
||||
.bigger-text, #homepage, .hint, .product-values-block {
|
||||
font-size: 1.25rem;
|
||||
line-height: 2rem;
|
||||
}
|
||||
.category-listing {
|
||||
width: calc(100vw - 4rem);
|
||||
height: 25vh;
|
||||
min-height: auto;
|
||||
float: left;
|
||||
clear: both;
|
||||
overflow: auto;
|
||||
}
|
||||
.sellings {
|
||||
input {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.client-now {
|
||||
input {
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
.sellings, .client-now {
|
||||
|
||||
input {
|
||||
font-size: 1.5rem;
|
||||
padding: 0.5rem;
|
||||
}
|
||||
}
|
||||
.big-footer {
|
||||
font-size: 1rem;
|
||||
}
|
||||
#caisse-now .product-box {
|
||||
margin-bottom: 0.25rem;
|
||||
}
|
||||
#caisse-now .listing-products button {
|
||||
padding: 0.5rem 1rem;
|
||||
|
||||
.express-button {
|
||||
padding: 0.5rem 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
$dark: #222;
|
||||
$light: #dedede;
|
||||
$deepblue: #1b6d85;
|
||||
$darkblue: mix(#000, $deepblue);
|
||||
$lightblue: lightblue;
|
||||
$grey: #e3e3e3;
|
||||
$logo-color: mix($deepblue, $light);
|
||||
$all-text-color: mix($deepblue, $light);
|
||||
|
||||
$primary: $deepblue;
|
||||
$btn-primary-bg: $deepblue;
|
|
@ -0,0 +1,29 @@
|
|||
.current-selling {
|
||||
ul {
|
||||
list-style-type: none;
|
||||
}
|
||||
}
|
||||
label{
|
||||
&.required{
|
||||
&:after{
|
||||
content: "*";
|
||||
color: red;
|
||||
margin-left: 1em;
|
||||
}
|
||||
}
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background: $deepblue;
|
||||
}
|
||||
|
||||
.product-box {
|
||||
margin-right: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
.remove-item{
|
||||
margin-left: -1rem;
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
.hidden {
|
||||
display: none;
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
h2, h3, h4, h5, h6 {
|
||||
color: mix($dark, $all-text-color);
|
||||
}
|
||||
|
||||
h1, .h1, h2, .h2, h3, .h3 {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
|
@ -6,8 +6,6 @@ body {
|
|||
font-size: 1rem;
|
||||
line-height: 2rem;
|
||||
}
|
||||
|
||||
|
||||
#wrapper {
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
|
|
@ -7,7 +7,11 @@
|
|||
content="938689189350-frtrg93bnva4b3p7c1al880mi3ts5i35.apps.googleusercontent.com">
|
||||
<title>{% block title %} {% trans %}menu.title{% endtrans %} - Fiche de compte dynamique{% endblock %}</title>
|
||||
{% block stylesheets %}
|
||||
<link rel="stylesheet" href="{{ asset('build/app.css') }}">
|
||||
{{ encore_entry_link_tags('app') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
{{ encore_entry_script_tags('app') }}
|
||||
{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
|
@ -27,31 +31,5 @@
|
|||
{% include 'default/footer.html.twig' %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% block javascripts %}
|
||||
<script src="{{ asset('build/app.js') }}"></script>
|
||||
|
||||
|
||||
<!-- Matomo -->
|
||||
<script type="text/javascript">
|
||||
var _paq = _paq || [];
|
||||
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function () {
|
||||
var u = "https://piwik.cipherbliss.com/";
|
||||
_paq.push(['setTrackerUrl', u + 'piwik.php']);
|
||||
_paq.push(['setSiteId', '1']);
|
||||
var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
|
||||
g.type = 'text/javascript';
|
||||
g.async = true;
|
||||
g.defer = true;
|
||||
g.src = u + 'piwik.js';
|
||||
s.parentNode.insertBefore(g, s);
|
||||
})();
|
||||
</script>
|
||||
<!-- End Matomo Code -->
|
||||
|
||||
|
||||
{% endblock %}
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -0,0 +1,121 @@
|
|||
layout.login: login
|
||||
layout.logout: logout
|
||||
layout.register: subscribe
|
||||
menu.title: 'Bliss cash register'
|
||||
menu.dashboard: Dashboard
|
||||
menu.history: History
|
||||
menu.import: Import
|
||||
menu.festivals: Festivals
|
||||
menu.series: Séries
|
||||
menu.products: Products
|
||||
menu.categories: Categories
|
||||
menu.future: Forecast
|
||||
user.greet: Hi
|
||||
security.login.username: user
|
||||
security.login.password: password
|
||||
security.login.remember_me: remember
|
||||
security.login.submit: send
|
||||
home.main_description: 'Your dynamic mobile online cash register thought for exhibitors and creators during festivals. This cash register will be able to adapt to your stock evolution and will release you from the throes of making and completing account master record yourself.'
|
||||
home.try: 'Try now'
|
||||
home.demo_hint: 'Démonstration en vous connectant avec le login: demo et le mot de passe demo.'
|
||||
home.specs.free: 'No cost'
|
||||
home.specs.free_text: 'Manage your stand accounts online without spending a dime. No need to carry an inventory and use quick and dirty spreadsheets.'
|
||||
home.specs.flex: Flexible
|
||||
home.specs.flex_text: 'Change your products on the fly, more than one can mange the cash register if you wish, change who is manager at anytime. Create several products just by writing their name with simplified import interface.'
|
||||
home.specs.portable: Portable
|
||||
home.specs.portable_text: 'Made to be used on markets and fairs. Your inventory management will therefore be simplified.'
|
||||
home.specs.open: 'Open Source'
|
||||
home.specs.open_text: 'Auto hébergeable et modifiable à volonté. Sources disponible sur gitlab. Développé par CipherBliss.'
|
||||
home.specs.stats: Statistiques
|
||||
home.specs.stats_text: 'Statistics and stock management updated in real time.'
|
||||
home.specs.data: 'Data Love'
|
||||
home.specs.data_text: 'Données exportables et importables en masse librement.'
|
||||
home.contact.hint: 'contact me for more information'
|
||||
home.contact.email: 'by email'
|
||||
home.contact.telegram: 'Telegram @Tykayn'
|
||||
home.contact.social: 'or on Mastodon'
|
||||
dashboard.options.express: 'mode vente express'
|
||||
dashboard.options.express_text: 'express sale lets you record a sale for a single article without completing the details'
|
||||
dashboard.options.stocks: stocks
|
||||
dashboard.options.sold: sold
|
||||
dashboard.customer: 'Current customer'
|
||||
dashboard.customer_default_name: 'an individual'
|
||||
dashboard.products: produits
|
||||
dashboard.visibility: 'Categories visibility'
|
||||
dashboard.total: Total
|
||||
dashboard.festival: Festival
|
||||
global.made_by: 'developed by'
|
||||
global.categ: 'Product category'
|
||||
global.categ_new: 'New category'
|
||||
global.products: Products
|
||||
global.products_hint: 'hint: use mass import to create several products and categories at once'
|
||||
global.products_new: 'New product'
|
||||
global.festivals: Festivals
|
||||
global.current: Current
|
||||
global.wip: 'Work in progress'
|
||||
category.name: Name
|
||||
category.products: Products
|
||||
category.sold: Sold
|
||||
category.actions: Actions
|
||||
products.category: Category
|
||||
products.name: Name
|
||||
products.image: Picture
|
||||
products.price: Price
|
||||
products.stocks: Stocks
|
||||
products.comment: Comment
|
||||
products.actions: Actions
|
||||
festivals.name: Name
|
||||
festivals.creation: 'Creation date'
|
||||
festivals.costs: 'Tous Frais'
|
||||
festivals.customers: Customers
|
||||
festivals.before: 'petty cash before'
|
||||
festivals.after: 'petty cash after'
|
||||
festivals.ca: 'chiffre affaire'
|
||||
festivals.stock: 'petty cash + revenue'
|
||||
festivals.diff: diff
|
||||
festivals.benef: 'bénefices CA - frais'
|
||||
festivals.actions: Actions
|
||||
history.title: History
|
||||
history.export: 'Export all data as csv'
|
||||
history.sold.customers: Clients
|
||||
history.sold.ca: Revenue
|
||||
history.sold.cart: 'panier moyen'
|
||||
history.stats: 'Sales statistics'
|
||||
history.last: 'Latest Sales'
|
||||
sellings.date: date
|
||||
sellings.comm: comment
|
||||
sellings.products: products
|
||||
sellings.amount: amount
|
||||
import.title: 'Mass import, create'
|
||||
import.create: 'Mass products creation'
|
||||
import.create_text: 'Create massively products and their category, one per line'
|
||||
import.validate: 'Mass creation'
|
||||
import.import: 'Import sales history'
|
||||
import.import_step_1: 'Download template file'
|
||||
import.import_step_2: 'Fill your template with your sales'
|
||||
import.import_step_3: 'to do'
|
||||
forecast.title: 'Sales forecast'
|
||||
forecast.saving: Saving...
|
||||
forecast.saved: 'Changes saved'
|
||||
forecast.conf: Configuration
|
||||
forecast.start: 'Initially available money'
|
||||
forecast.month_earnings: 'Average earnings per month'
|
||||
forecast.delay: 'Manage payment deadlines'
|
||||
forecast.repeat: 'Manage rehearsals'
|
||||
forecast.monthly: 'Monthly expenses'
|
||||
forecast.benef: 'Monthly profit'
|
||||
forecast.credit: 'Achievable monthly credit (33%% of average earnings per month)'
|
||||
forecast.posts_title: 'Monthly expenses'
|
||||
forecast.posts_text: 'Specify the categories of monthly expenses you make to change the remaining months budget simulation.'
|
||||
forecast.simulation: 'Simulation on % month'
|
||||
forecast.table.warning_text: 'It will be broke in months %'
|
||||
forecast.table.months: 'Month in the future'
|
||||
forecast.table.date: date
|
||||
forecast.table.expenses: Expenses
|
||||
forecast.table.availability: Availability
|
||||
forecast.columns.name: Name
|
||||
forecast.columns.monthly: 'price per month'
|
||||
forecast.columns.yearly: 'annual price'
|
||||
forecast.columns.enabled: enabled
|
||||
forecast.example.title: 'Examples of expenses to add'
|
||||
forecast.example.content: 'home rent, heath insurance, public transport, car insurance, motorbike insurance, leisure stuff, miscellaneous, gas, electricity, savings, social security contributions, business meals, shopping, web hosting, protonmail subscription, VPN subscription, audio/video service subscription, fuel, vehicle, donations, doctor, cat, dog, unicorn '
|
|
@ -0,0 +1,121 @@
|
|||
layout.login: Connexion
|
||||
layout.logout: Déconnexion
|
||||
layout.register: Inscription
|
||||
menu.title: 'Caisse Bliss'
|
||||
menu.dashboard: Dashboard
|
||||
menu.history: Historique
|
||||
menu.import: Importer
|
||||
menu.festivals: Festivals
|
||||
menu.series: Séries
|
||||
menu.products: Produits
|
||||
menu.categories: Catégories
|
||||
menu.future: Prévisionnel
|
||||
user.greet: Bonjour
|
||||
security.login.username: utilisateur
|
||||
security.login.password: 'mot de passe'
|
||||
security.login.remember_me: 'se souvenir'
|
||||
security.login.submit: envoyer
|
||||
home.main_description: 'Votre caisse mobile dynamique en ligne. Pensé pour les exposants et les créateurs divers en festival, cette caisse saura s''adapter à l''évolution de vos stocks et vous libèrera des affres de la fiche de compte à faire et compléter soi même.'
|
||||
home.try: 'Essayer dès maintenant'
|
||||
home.demo_hint: 'Démonstration en vous connectant avec le login: demo et le mot de passe demo.'
|
||||
home.specs.free: Gratuit
|
||||
home.specs.free_text: 'Gérez votre comptabilité de stand en ligne sans dépenser un rond. Plus besoin de transporter un inventaire et des feuilles de calcul faites à l''arrache.'
|
||||
home.specs.flex: Flexible
|
||||
home.specs.flex_text: 'Modifiez vos produits à la volée, soyez plusieurs à gérer la caisse si vous le souhaitez, changez de responsable en cours de journée. Créez plusieurs produits juste en écrivant leur nom avec l''interface d''importation simplifiée.'
|
||||
home.specs.portable: Portable
|
||||
home.specs.portable_text: 'Fait pour être utilisé sur les marchés et les salons. Votre gestion des stocks n''en sera que simplifiée.'
|
||||
home.specs.open: 'Open Source'
|
||||
home.specs.open_text: 'Auto hébergeable et modifiable à volonté. Sources disponible sur gitlab. Développé par CipherBliss.'
|
||||
home.specs.stats: Statistiques
|
||||
home.specs.stats_text: 'Données statistiques et gestion des stocks actualisée au fur et à mesure des ventes.'
|
||||
home.specs.data: 'Data Love'
|
||||
home.specs.data_text: 'Données exportables et importables en masse librement.'
|
||||
home.contact.hint: 'contactez-moi pour tout renseignement'
|
||||
home.contact.email: 'par email'
|
||||
home.contact.telegram: 'Telegram @Tykayn'
|
||||
home.contact.social: 'ou sur Mastodon'
|
||||
dashboard.options.express: 'mode vente express'
|
||||
dashboard.options.express_text: 'la vente express vous permet d''enregistrer une vente pour un seul article sans remplir le formulaire de détail'
|
||||
dashboard.options.stocks: stocks
|
||||
dashboard.options.sold: vendus
|
||||
dashboard.customer: 'Client actuel'
|
||||
dashboard.customer_default_name: 'un gens'
|
||||
dashboard.products: produits
|
||||
dashboard.visibility: 'Visibilité des catégories'
|
||||
dashboard.total: Total
|
||||
dashboard.festival: Festival
|
||||
global.made_by: 'développé par'
|
||||
global.categ: 'Catégorie de produit'
|
||||
global.categ_new: 'Nouvelle catégorie'
|
||||
global.products: Produits
|
||||
global.products_hint: 'astuce: Utilisez l''import de masse pour créer plusieurs produits et catégories à la fois'
|
||||
global.products_new: 'Nouveau produit'
|
||||
global.festivals: Festivals
|
||||
global.current: Actuel
|
||||
global.wip: 'Fonctionnalité en cours de création'
|
||||
category.name: Nom
|
||||
category.products: Produits
|
||||
category.sold: Vendus
|
||||
category.actions: Actions
|
||||
products.category: Category
|
||||
products.name: Name
|
||||
products.image: Image
|
||||
products.price: Price
|
||||
products.stocks: Stocks
|
||||
products.comment: Comment
|
||||
products.actions: Actions
|
||||
festivals.name: Name
|
||||
festivals.creation: Datecreation
|
||||
festivals.costs: 'Tous Frais'
|
||||
festivals.customers: Clients
|
||||
festivals.before: 'fond caisse avant'
|
||||
festivals.after: 'fond caisse apres'
|
||||
festivals.ca: 'chiffre affaire'
|
||||
festivals.stock: 'fond caisse + CA'
|
||||
festivals.diff: diff
|
||||
festivals.benef: 'bénefices CA - frais'
|
||||
festivals.actions: Actions
|
||||
history.title: Historique
|
||||
history.export: 'Exporter toutes vos données en format csv'
|
||||
history.sold.customers: Clients
|
||||
history.sold.ca: 'Chiffre d''affaires'
|
||||
history.sold.cart: 'panier moyen'
|
||||
history.stats: 'Statistiques de ventes'
|
||||
history.last: 'Dernières ventes'
|
||||
sellings.date: date
|
||||
sellings.comm: commentaire
|
||||
sellings.products: produits
|
||||
sellings.amount: montant
|
||||
import.title: 'Importation, création en masse'
|
||||
import.create: 'Création de produits en masse'
|
||||
import.create_text: 'Créez vos produits et leur catégorie en masse, un par ligne'
|
||||
import.validate: 'Créer en masse'
|
||||
import.import: 'Importer votre historique de ventes'
|
||||
import.import_step_1: 'Télécharger le fichier de modèle'
|
||||
import.import_step_2: 'Remplir votre modèle avec vos ventes'
|
||||
import.import_step_3: 'à faire'
|
||||
forecast.title: Prévisionnel
|
||||
forecast.saving: 'Sauvegarde en cours'
|
||||
forecast.saved: 'Modifications sauvegardées'
|
||||
forecast.conf: Configuration
|
||||
forecast.start: 'Euros disponibles au départ'
|
||||
forecast.month_earnings: 'Gains moyen par mois'
|
||||
forecast.delay: 'Gérer délais de paiement'
|
||||
forecast.repeat: 'Gérer répétitions'
|
||||
forecast.monthly: 'Dépenses mensuelles'
|
||||
forecast.benef: 'Bénef mensuel'
|
||||
forecast.credit: 'Crédit mensuel réalisable (33% des gains moyens par mois)'
|
||||
forecast.posts_title: 'Postes de dépenses mensuelles'
|
||||
forecast.posts_text: 'Indiquez les catégories de dépenses mensuelles que vous faites pour faire évoluer la simulation de budget restant dans plusieurs mois.'
|
||||
forecast.simulation: 'Simulation sur % mois'
|
||||
forecast.table.warning_text: 'Ce sera la dèche dans % mois'
|
||||
forecast.table.months: 'Month in the future'
|
||||
forecast.table.date: date
|
||||
forecast.table.expenses: Dépenses
|
||||
forecast.table.availability: Disponibilité
|
||||
forecast.columns.name: Nom
|
||||
forecast.columns.monthly: 'prix mensuel'
|
||||
forecast.columns.yearly: 'prix annuel'
|
||||
forecast.columns.enabled: activé
|
||||
forecast.example.title: 'Exemples de postes de dépenses à ajouter'
|
||||
forecast.example.content: 'appartement mutuelle transport en commun assurance voiture assurance moto trucs de loisirs divers gaz elec internet épargne impots cottisation URSSAF resto au boulot courses serveur wouaibe abonnement protonmail VPN abonnement service audio, vidéo carburant véhicule donations médecin chat chien licorne '
|
|
@ -543,3 +543,29 @@
|
|||
[2023-06-23T12:03:06.672001+02:00] request.INFO: Matched route "app_home". {"route":"app_home","route_parameters":{"_route":"app_home","_controller":"App\\Controller\\DefaultController::home"},"request_uri":"https://127.0.0.1:8000/","method":"GET"} []
|
||||
[2023-06-23T12:03:06.673134+02:00] security.DEBUG: Checking for authenticator support. {"firewall_name":"main","authenticators":0} []
|
||||
[2023-06-23T12:03:07.308693+02:00] request.INFO: Matched route "_wdt". {"route":"_wdt","route_parameters":{"_route":"_wdt","_controller":"web_profiler.controller.profiler::toolbarAction","token":"a99044"},"request_uri":"https://127.0.0.1:8000/_wdt/a99044","method":"GET"} []
|
||||
[2023-06-23T12:04:45.429979+02:00] request.INFO: Matched route "app_home". {"route":"app_home","route_parameters":{"_route":"app_home","_controller":"App\\Controller\\DefaultController::home"},"request_uri":"https://127.0.0.1:8000/","method":"GET"} []
|
||||
[2023-06-23T12:04:45.433451+02:00] security.DEBUG: Checking for authenticator support. {"firewall_name":"main","authenticators":0} []
|
||||
[2023-06-23T12:04:45.651961+02:00] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET https://127.0.0.1:8000/build/app.scss" (from "https://127.0.0.1:8000/")" at /home/poule/encrypted/stockage-syncable/www/development/html/caisse/vendor/symfony/http-kernel/EventListener/RouterListener.php line 130 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): No route found for \"GET https://127.0.0.1:8000/build/app.scss\" (from \"https://127.0.0.1:8000/\") at /home/poule/encrypted/stockage-syncable/www/development/html/caisse/vendor/symfony/http-kernel/EventListener/RouterListener.php:130)\n[previous exception] [object] (Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(code: 0): No routes found for \"/build/app.scss/\". at /home/poule/encrypted/stockage-syncable/www/development/html/caisse/vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php:74)"} []
|
||||
[2023-06-23T12:04:45.994406+02:00] request.INFO: Matched route "_wdt". {"route":"_wdt","route_parameters":{"_route":"_wdt","_controller":"web_profiler.controller.profiler::toolbarAction","token":"a4e229"},"request_uri":"https://127.0.0.1:8000/_wdt/a4e229","method":"GET"} []
|
||||
[2023-06-28T11:19:42.032350+02:00] request.INFO: Matched route "app_home". {"route":"app_home","route_parameters":{"_route":"app_home","_controller":"App\\Controller\\DefaultController::home"},"request_uri":"https://127.0.0.1:8000/","method":"GET"} []
|
||||
[2023-06-28T11:19:42.062287+02:00] security.DEBUG: Checking for authenticator support. {"firewall_name":"main","authenticators":0} []
|
||||
[2023-06-28T11:19:43.041724+02:00] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET https://127.0.0.1:8000/build/app.scss" (from "https://127.0.0.1:8000/")" at /home/poule/encrypted/stockage-syncable/www/development/html/caisse/vendor/symfony/http-kernel/EventListener/RouterListener.php line 130 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): No route found for \"GET https://127.0.0.1:8000/build/app.scss\" (from \"https://127.0.0.1:8000/\") at /home/poule/encrypted/stockage-syncable/www/development/html/caisse/vendor/symfony/http-kernel/EventListener/RouterListener.php:130)\n[previous exception] [object] (Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(code: 0): No routes found for \"/build/app.scss/\". at /home/poule/encrypted/stockage-syncable/www/development/html/caisse/vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php:74)"} []
|
||||
[2023-06-28T11:19:43.514756+02:00] request.INFO: Matched route "_wdt". {"route":"_wdt","route_parameters":{"_route":"_wdt","_controller":"web_profiler.controller.profiler::toolbarAction","token":"fea982"},"request_uri":"https://127.0.0.1:8000/_wdt/fea982","method":"GET"} []
|
||||
[2023-06-28T11:21:37.934453+02:00] request.INFO: Matched route "app_home". {"route":"app_home","route_parameters":{"_route":"app_home","_controller":"App\\Controller\\DefaultController::home"},"request_uri":"https://127.0.0.1:8000/","method":"GET"} []
|
||||
[2023-06-28T11:21:37.935650+02:00] security.DEBUG: Checking for authenticator support. {"firewall_name":"main","authenticators":0} []
|
||||
[2023-06-28T11:21:38.241269+02:00] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET https://127.0.0.1:8000/build/app.scss" (from "https://127.0.0.1:8000/")" at /home/poule/encrypted/stockage-syncable/www/development/html/caisse/vendor/symfony/http-kernel/EventListener/RouterListener.php line 130 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): No route found for \"GET https://127.0.0.1:8000/build/app.scss\" (from \"https://127.0.0.1:8000/\") at /home/poule/encrypted/stockage-syncable/www/development/html/caisse/vendor/symfony/http-kernel/EventListener/RouterListener.php:130)\n[previous exception] [object] (Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(code: 0): No routes found for \"/build/app.scss/\". at /home/poule/encrypted/stockage-syncable/www/development/html/caisse/vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php:74)"} []
|
||||
[2023-06-28T11:21:38.455784+02:00] request.INFO: Matched route "_wdt". {"route":"_wdt","route_parameters":{"_route":"_wdt","_controller":"web_profiler.controller.profiler::toolbarAction","token":"3c320a"},"request_uri":"https://127.0.0.1:8000/_wdt/3c320a","method":"GET"} []
|
||||
[2023-06-28T11:25:09.894739+02:00] request.INFO: Matched route "app_home". {"route":"app_home","route_parameters":{"_route":"app_home","_controller":"App\\Controller\\DefaultController::home"},"request_uri":"https://127.0.0.1:8000/","method":"GET"} []
|
||||
[2023-06-28T11:25:09.897578+02:00] security.DEBUG: Checking for authenticator support. {"firewall_name":"main","authenticators":0} []
|
||||
[2023-06-28T11:25:10.191457+02:00] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET https://127.0.0.1:8000/styles/app.scss" (from "https://127.0.0.1:8000/")" at /home/poule/encrypted/stockage-syncable/www/development/html/caisse/vendor/symfony/http-kernel/EventListener/RouterListener.php line 130 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): No route found for \"GET https://127.0.0.1:8000/styles/app.scss\" (from \"https://127.0.0.1:8000/\") at /home/poule/encrypted/stockage-syncable/www/development/html/caisse/vendor/symfony/http-kernel/EventListener/RouterListener.php:130)\n[previous exception] [object] (Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(code: 0): No routes found for \"/styles/app.scss/\". at /home/poule/encrypted/stockage-syncable/www/development/html/caisse/vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php:74)"} []
|
||||
[2023-06-28T11:25:10.451852+02:00] request.INFO: Matched route "_wdt". {"route":"_wdt","route_parameters":{"_route":"_wdt","_controller":"web_profiler.controller.profiler::toolbarAction","token":"d03e71"},"request_uri":"https://127.0.0.1:8000/_wdt/d03e71","method":"GET"} []
|
||||
[2023-06-28T11:26:03.098839+02:00] request.INFO: Matched route "app_home". {"route":"app_home","route_parameters":{"_route":"app_home","_controller":"App\\Controller\\DefaultController::home"},"request_uri":"https://127.0.0.1:8000/","method":"GET"} []
|
||||
[2023-06-28T11:26:03.100066+02:00] security.DEBUG: Checking for authenticator support. {"firewall_name":"main","authenticators":0} []
|
||||
[2023-06-28T11:26:03.554176+02:00] request.INFO: Matched route "_wdt". {"route":"_wdt","route_parameters":{"_route":"_wdt","_controller":"web_profiler.controller.profiler::toolbarAction","token":"374a94"},"request_uri":"https://127.0.0.1:8000/_wdt/374a94","method":"GET"} []
|
||||
[2023-06-28T11:36:17.182181+02:00] request.INFO: Matched route "app_home". {"route":"app_home","route_parameters":{"_route":"app_home","_controller":"App\\Controller\\DefaultController::home"},"request_uri":"https://127.0.0.1:8000/","method":"GET"} []
|
||||
[2023-06-28T11:36:17.183077+02:00] security.DEBUG: Checking for authenticator support. {"firewall_name":"main","authenticators":0} []
|
||||
[2023-06-28T11:36:17.195596+02:00] request.CRITICAL: Uncaught PHP Exception Twig\Error\SyntaxError: "The block 'javascripts' has already been defined line 13." at /home/poule/encrypted/stockage-syncable/www/development/html/caisse/templates/base.html.twig line 34 {"exception":"[object] (Twig\\Error\\SyntaxError(code: 0): The block 'javascripts' has already been defined line 13. at /home/poule/encrypted/stockage-syncable/www/development/html/caisse/templates/base.html.twig:34)"} []
|
||||
[2023-06-28T11:36:17.599658+02:00] request.INFO: Matched route "_wdt". {"route":"_wdt","route_parameters":{"_route":"_wdt","_controller":"web_profiler.controller.profiler::toolbarAction","token":"c023f2"},"request_uri":"https://127.0.0.1:8000/_wdt/c023f2","method":"GET"} []
|
||||
[2023-06-28T11:36:37.346844+02:00] request.INFO: Matched route "app_home". {"route":"app_home","route_parameters":{"_route":"app_home","_controller":"App\\Controller\\DefaultController::home"},"request_uri":"https://127.0.0.1:8000/","method":"GET"} []
|
||||
[2023-06-28T11:36:37.347776+02:00] security.DEBUG: Checking for authenticator support. {"firewall_name":"main","authenticators":0} []
|
||||
[2023-06-28T11:36:37.818481+02:00] request.INFO: Matched route "_wdt". {"route":"_wdt","route_parameters":{"_route":"_wdt","_controller":"web_profiler.controller.profiler::toolbarAction","token":"940cef"},"request_uri":"https://127.0.0.1:8000/_wdt/940cef","method":"GET"} []
|
||||
|
|
|
@ -46,7 +46,7 @@ Encore
|
|||
.enableVersioning(Encore.isProduction())
|
||||
|
||||
// configure Babel
|
||||
// .configureBabel((config) => {
|
||||
// .configureBabel((config) .enableSassLoader()=> {
|
||||
// config.plugins.push('@babel/a-babel-plugin');
|
||||
// })
|
||||
|
||||
|
|
Loading…
Reference in New Issue