diff --git a/scripts/yarn-update b/scripts/yarn-update index fe031f7887..8916393571 100755 --- a/scripts/yarn-update +++ b/scripts/yarn-update @@ -6,6 +6,10 @@ cd scripts/yarn/ yarn install --check-files +# Clipboard +cp node_modules/simpleslider-js/dist/simpleSlider.min.js ../../weblate_web/static/vendor/simpleSlider.min.js +cp node_modules/simpleslider-js/dist/simpleSlider.min.css ../../weblate_web/static/vendor/simpleSlider.min.css + # Source Sans/Code Pro fonts mkdir -p ../../weblate_web/static/font-source sed '/font-family/ a font-display: swap;' < node_modules/source-sans/source-sans-3.css > ../../weblate_web/static/vendor/font-source/source-sans-3.css diff --git a/scripts/yarn/package.json b/scripts/yarn/package.json index 67b86d2e91..a658bdd8d3 100644 --- a/scripts/yarn/package.json +++ b/scripts/yarn/package.json @@ -4,6 +4,7 @@ "main": "index.js", "license": "GPL-3.0+", "dependencies": { + "simpleslider-js": "1.9.0", "source-code-pro": "2.38.0", "source-sans": "3.46.0" } diff --git a/scripts/yarn/yarn.lock b/scripts/yarn/yarn.lock index 2a21a08123..19057acd56 100644 --- a/scripts/yarn/yarn.lock +++ b/scripts/yarn/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +simpleslider-js@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/simpleslider-js/-/simpleslider-js-1.9.0.tgz#f850e1d493968ccd1c9d91c15b1b53bbb32049a3" + integrity sha512-p2nzUx0/sAJldSDezLah0sAm8orHM+E6BsA/mTaCIPV0UrZj6ZIxKhwj5KF+4iu98gB0SqWBPhZE4hs4drDZrA== + source-code-pro@2.38.0: version "2.38.0" resolved "https://registry.yarnpkg.com/source-code-pro/-/source-code-pro-2.38.0.tgz#85c57689f7386bb9d0515fb00ba4845bfb7b485b" diff --git a/weblate_web/static/custom.js b/weblate_web/static/custom.js index 5a3668eb2f..9c4b0c34be 100644 --- a/weblate_web/static/custom.js +++ b/weblate_web/static/custom.js @@ -244,3 +244,12 @@ ready(() => { "font-size: 20px; font-family: sans-serif", ); }); + +if (typeof SimpleSlider === "function") { + new SimpleSlider(".page-slider", { + slidesPerView: { + 850: 2, + 1165: 3, + }, + }); +} diff --git a/weblate_web/static/img/Dyson-logo.png b/weblate_web/static/img/Dyson-logo.png new file mode 100644 index 0000000000..a7a35c0544 Binary files /dev/null and b/weblate_web/static/img/Dyson-logo.png differ diff --git a/weblate_web/static/img/Logo-Turris.png b/weblate_web/static/img/Logo-Turris.png new file mode 100644 index 0000000000..964fa5402b Binary files /dev/null and b/weblate_web/static/img/Logo-Turris.png differ diff --git a/weblate_web/static/img/LogoFreedomBox.png b/weblate_web/static/img/LogoFreedomBox.png new file mode 100644 index 0000000000..a0409e9f66 Binary files /dev/null and b/weblate_web/static/img/LogoFreedomBox.png differ diff --git a/weblate_web/static/img/LogoOpenSuse.png b/weblate_web/static/img/LogoOpenSuse.png new file mode 100644 index 0000000000..104a2a1c9a Binary files /dev/null and b/weblate_web/static/img/LogoOpenSuse.png differ diff --git a/weblate_web/static/img/LogoPhpMyAdmin.png b/weblate_web/static/img/LogoPhpMyAdmin.png new file mode 100644 index 0000000000..111d45ee64 Binary files /dev/null and b/weblate_web/static/img/LogoPhpMyAdmin.png differ diff --git a/weblate_web/static/img/LogoSonicPi.png b/weblate_web/static/img/LogoSonicPi.png new file mode 100644 index 0000000000..710ff995dd Binary files /dev/null and b/weblate_web/static/img/LogoSonicPi.png differ diff --git a/weblate_web/static/img/Quotes.png b/weblate_web/static/img/Quotes.png new file mode 100644 index 0000000000..e9d74f5a55 Binary files /dev/null and b/weblate_web/static/img/Quotes.png differ diff --git a/weblate_web/static/img/Siemens-logo.png b/weblate_web/static/img/Siemens-logo.png new file mode 100644 index 0000000000..693c67d780 Binary files /dev/null and b/weblate_web/static/img/Siemens-logo.png differ diff --git a/weblate_web/static/img/YouGov-logo.png b/weblate_web/static/img/YouGov-logo.png new file mode 100644 index 0000000000..5dce12fa65 Binary files /dev/null and b/weblate_web/static/img/YouGov-logo.png differ diff --git a/weblate_web/static/img/chevron.png b/weblate_web/static/img/chevron.png new file mode 100644 index 0000000000..c2bfcc8b16 Binary files /dev/null and b/weblate_web/static/img/chevron.png differ diff --git a/weblate_web/static/img/chevron1.png b/weblate_web/static/img/chevron1.png new file mode 100644 index 0000000000..aef882d423 Binary files /dev/null and b/weblate_web/static/img/chevron1.png differ diff --git a/weblate_web/static/img/donald.png b/weblate_web/static/img/donald.png new file mode 100644 index 0000000000..f38f7ac2b4 Binary files /dev/null and b/weblate_web/static/img/donald.png differ diff --git a/weblate_web/static/img/dyson-group.png b/weblate_web/static/img/dyson-group.png new file mode 100644 index 0000000000..61f753584e Binary files /dev/null and b/weblate_web/static/img/dyson-group.png differ diff --git a/weblate_web/static/img/next.svg b/weblate_web/static/img/next.svg new file mode 100644 index 0000000000..866cbf00cc --- /dev/null +++ b/weblate_web/static/img/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/weblate_web/static/img/prev.svg b/weblate_web/static/img/prev.svg new file mode 100644 index 0000000000..d30171ae53 --- /dev/null +++ b/weblate_web/static/img/prev.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/weblate_web/static/img/siemens-group.png b/weblate_web/static/img/siemens-group.png new file mode 100644 index 0000000000..857eb318de Binary files /dev/null and b/weblate_web/static/img/siemens-group.png differ diff --git a/weblate_web/static/img/siemens-log.png b/weblate_web/static/img/siemens-log.png new file mode 100644 index 0000000000..f58f8fa9ec Binary files /dev/null and b/weblate_web/static/img/siemens-log.png differ diff --git a/weblate_web/static/style-rtl.css b/weblate_web/static/style-rtl.css index 1ddd0d7f1c..844044bb81 100644 --- a/weblate_web/static/style-rtl.css +++ b/weblate_web/static/style-rtl.css @@ -4719,3 +4719,103 @@ a.invoice-link img { .payment-updated { display: flow-root; } + +/*Testimonial and Slider CSS*/ + +.testimonial { + width: 365px; + border-radius: 30px; + background-color: #ffffff; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + margin-left: 10px; +} + +.icon-review { + text-align: right; +} +.icon-review img { + margin-right: 50px; +} +.icon-review p { + margin-right: 35px; + margin-top: -25px; + width: 70%; + font-size: 15px; + line-height: 18px; + letter-spacing: 0.5px; + color: #2a3744; +} + +.circle-user { + width: 40px; + height: 40px; + border-radius: 50%; + position: relative; + right: 32px; + margin-top: 20px; +} +.circle-user img { + margin: 0px; + border-radius: 50%; +} + +.icon-user { + display: flex; + text-align: right; + padding-bottom: 25px; +} +.content-user { + margin-top: 20px; + margin-right: 45px; +} +.content-user a { + color: #1fa385; + line-height: 23px; + text-decoration: underline; +} +.content-logo { + margin: 0px !important; +} + +.slider-slide { + display: -webkit-flex; + display: flex; + -webkit-align-items: center; + align-items: center; + -webkit-justify-content: center; + justify-content: center; +} + +.simple-slider { + height: 400px; +} + +.simple-slider .slider-btn.slider-btn-prev { + left: 11px !important; + background-position: left !important; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1) !important; + background: white !important; + border-radius: 50% !important; + width: 50px !important; + height: 50px !important; +} + +.simple-slider .slider-btn.slider-btn-next { + right: 4px !important; + background-position: right !important; + border-radius: 50% !important; + width: 50px !important; + height: 50px !important; + background: white !important; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1) !important; +} + +.simple-slider .slider-btn.slider-btn-next img { + padding: 18px; + margin: 0px; +} + +.simple-slider .slider-btn.slider-btn-prev img { + padding: 18px; + margin: 0px; +} diff --git a/weblate_web/static/style.css b/weblate_web/static/style.css index fc8569037a..a28a329671 100644 --- a/weblate_web/static/style.css +++ b/weblate_web/static/style.css @@ -4174,7 +4174,7 @@ input.fullwidth { } } -/* About Us Weblate Team CSS */ +/* About Us Weblate Team */ .content-p { width: 69%; @@ -4709,3 +4709,103 @@ a.invoice-link img { .payment-updated { display: flow-root; } + +/*Testimonial and Slider CSS*/ + +.testimonial { + width: 365px; + border-radius: 30px; + background-color: #ffffff; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + margin-left: 10px; +} + +.icon-review { + text-align: left; +} +.icon-review img { + margin-left: 50px; +} +.icon-review p { + margin-left: 35px; + margin-top: -25px; + width: 70%; + font-size: 15px; + line-height: 18px; + letter-spacing: 0.5px; + color: #2a3744; +} + +.circle-user { + width: 40px; + height: 40px; + border-radius: 50%; + position: relative; + left: 32px; + margin-top: 20px; +} +.circle-user img { + margin: 0px; + border-radius: 50%; +} + +.icon-user { + display: flex; + text-align: left; + padding-bottom: 25px; +} +.content-user { + margin-top: 20px; + margin-left: 45px; +} +.content-user a { + color: #1fa385; + line-height: 23px; + text-decoration: underline; +} +.content-logo { + margin: 0px !important; +} + +.slider-slide { + display: -webkit-flex; + display: flex; + -webkit-align-items: center; + align-items: center; + -webkit-justify-content: center; + justify-content: center; +} + +.simple-slider { + height: 400px; +} + +.simple-slider .slider-btn.slider-btn-prev { + left: 11px !important; + background-position: left !important; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1) !important; + background: white !important; + border-radius: 50% !important; + width: 50px !important; + height: 50px !important; +} + +.simple-slider .slider-btn.slider-btn-next { + right: 4px !important; + background-position: right !important; + border-radius: 50% !important; + width: 50px !important; + height: 50px !important; + background: white !important; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1) !important; +} + +.simple-slider .slider-btn.slider-btn-next img { + padding: 18px; + margin: 0px; +} + +.simple-slider .slider-btn.slider-btn-prev img { + padding: 18px; + margin: 0px; +} diff --git a/weblate_web/static/vendor/simpleSlider.min.css b/weblate_web/static/vendor/simpleSlider.min.css new file mode 100644 index 0000000000..5bb9f108b7 --- /dev/null +++ b/weblate_web/static/vendor/simpleSlider.min.css @@ -0,0 +1,10 @@ +@charset "UTF-8"; +/*! + * SimpleSlider v1.9.0 + * Simple responsive slider created in pure javascript. + * https://github.com/michu2k/SimpleSlider + * + * Copyright 2017-2019 Michał Strumpf + * Published under MIT License + */ +.simple-slider{overflow:hidden;position:relative}.simple-slider .slider-wrapper{height:100%;position:relative;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-timing-function:cubic-bezier(.7,0,.3,1);transition-timing-function:cubic-bezier(.7,0,.3,1)}.simple-slider .slider-slide{background-size:cover;background-position:center top;height:100%;float:left}.simple-slider .slider-pagination{text-align:center;width:100%;bottom:0;position:absolute}.simple-slider .slider-pagination .pagination-bullet{display:inline-block;cursor:pointer;width:16px;height:5px;margin:4px;background-color:#fff;-webkit-transition:all .3s ease;transition:all .3s ease}.simple-slider .slider-pagination .pagination-bullet.is-active{background-color:#999}.simple-slider .slider-btn{width:30px;height:50px;top:50%;cursor:pointer;background-repeat:no-repeat;position:absolute;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.simple-slider .slider-btn.slider-btn-prev{left:20px;background-image:url(../img/prev.svg);background-position:left}.simple-slider .slider-btn.slider-btn-next{right:20px;background-image:url(../img/next.svg);background-position:right} \ No newline at end of file diff --git a/weblate_web/static/vendor/simpleSlider.min.js b/weblate_web/static/vendor/simpleSlider.min.js new file mode 100644 index 0000000000..b061110b6c --- /dev/null +++ b/weblate_web/static/vendor/simpleSlider.min.js @@ -0,0 +1,9 @@ +/*! + * SimpleSlider v1.9.0 + * Simple responsive slider created in pure javascript. + * https://github.com/michu2k/SimpleSlider + * + * Copyright 2017-2019 Michał Strumpf + * Published under MIT License + */ +"use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t=e&&(d.slidesPerView=n[e])}),d.maxIndex=t?d.slides.length:d.slides.length-d.slidesPerView+1},this.createClones=function(){if(d.options.loop){for(var e,t=d.options.class.slide,n=d.wrapper,i=d.slides.length-1,a=document.createDocumentFragment(),r=document.createDocumentFragment(),o=0;o=d.maxIndex-Math.floor(d.slidesPerView/2)?d.maxIndex-1:d.index);for(var n=0;n=d.slides.length)&&(d.index=d.updateIndex(d.index),d.wrapper.style[d.transitionDuration]="0ms",d.moveWrapper()),d.disableEvents=!1},n))},this.createPagination=function(){if(d.pagination){for(var e,t=d.options,n=t.loop,i=t.class.paginationItem,a=document.createDocumentFragment(),r=n?0:Math.min(d.index,d.maxIndex-1),o=0;o=d.slides.length?0:e<0?d.slides.length-1:e:e>=d.maxIndex?d.maxIndex-1:e<=0?0:e},this.autoplay=function(){var e=d.options,t=e.autoplay,n=e.delay,i=e.speed;t&&(d.timer=setTimeout(function(){d.increaseIndex(),d.changeSlide(!0),d.autoplay()},n+i))},this.resetAutoplay=function(){return clearTimeout(d.timer)},this.updateSliderAfterDrag=function(){var e=d.options.speed;d.drag.focused=!1,d.drag.dragDiff&&(d.autoplay(),100=d.maxIndex-1&&d.drag.dragDiff<0&&(i=100)),d.drag.dragDiff-1*i?d.wrapper.style[d.transform]="translate3d(".concat(-1*n,"px, 0, 0)"):d.updateSliderAfterDrag()},this.mousedownHandler=function(e){e.stopPropagation(),e.preventDefault(),d.wrapper.style[d.transitionDuration]="0ms",d.drag.focused=!0,d.drag.startX=e.pageX},this.mousemoveHandler=function(e){e.stopPropagation(),!d.disableEvents&&d.drag.focused&&("A"===e.target.nodeName&&(d.drag.isLink=!0),d.drag.endX=e.pageX,d.updateSliderDuringDrag())},this.mouseupHandler=function(e){e.stopPropagation(),d.updateSliderAfterDrag()},this.mouseleaveHandler=function(e){e.stopPropagation(),d.updateSliderAfterDrag()},this.clickHandler=function(e){d.drag.isLink&&e.preventDefault(),d.drag.isLink=!1},this.touchstartHandler=function(e){e.stopPropagation(),d.wrapper.style[d.transitionDuration]="0ms",d.drag.focused=!0,d.drag.startX=e.touches[0].pageX},this.touchmoveHandler=function(e){e.stopPropagation(),!d.disableEvents&&d.drag.focused&&(d.drag.endX=e.touches[0].pageX,d.updateSliderDuringDrag())},this.touchendHandler=function(e){e.stopPropagation(),d.updateSliderAfterDrag()},this.visibilitychangeHandler=function(){d.resetAutoplay(),document.hidden||d.autoplay()},this.resizeHandler=function(){var e=d.options.loop,t=d.slidesPerView;d.wrapper.style[d.transitionDuration]="0ms",d.calculateSlidesPerView(),d.setWidth(),d.moveWrapper(),e||t===d.slidesPerView||(d.destroyPagination(),d.createPagination())};var l=function(e){return"string"==typeof document.documentElement.style[e]?e:(e=e.charAt(0).toUpperCase()+e.slice(1),"webkit".concat(e))},n=function(e,t){var n,i;if(null!=t&&"undefined"!=t)for(n in t){var a=t[n];if("object"===_typeof(a))for(i in a)e[n][i]=a[i];else e[n]=a}return e};this.init()}"undefined"!=typeof module&&void 0!==module.exports?module.exports=e:i.SimpleSlider=e}(window); \ No newline at end of file diff --git a/weblate_web/templates/base.html b/weblate_web/templates/base.html index af9cf50902..ec4a480afa 100644 --- a/weblate_web/templates/base.html +++ b/weblate_web/templates/base.html @@ -15,6 +15,10 @@ {% endcompress %} +{% if request.resolver_match.url_name == 'home' %} + +{% endif %} + @@ -131,6 +135,10 @@ {% include "snippets/languages.html" %} +{% if request.resolver_match.url_name == 'home' %} + +{% endif %} + {% compress js %} diff --git a/weblate_web/templates/index.html b/weblate_web/templates/index.html index 9ee2063171..7a0bd854ea 100644 --- a/weblate_web/templates/index.html +++ b/weblate_web/templates/index.html @@ -52,7 +52,12 @@

{% trans "Robust feature set" %}

{% trans "Explore all features" %}
-

{% trans "Users and Supporters" %}

+

{% trans "Companies using Weblate" %}

+ {% include "snippets/reviews.html" %} +
+ +
+

{% trans "Libre projects" %}

{% include "snippets/users.html" %}
diff --git a/weblate_web/templates/snippets/reviews.html b/weblate_web/templates/snippets/reviews.html new file mode 100644 index 0000000000..2cdc4fbbd3 --- /dev/null +++ b/weblate_web/templates/snippets/reviews.html @@ -0,0 +1,73 @@ +{% load i18n %} +{% load static %} + +
+ Siemens + Dyson + YouGov +
+
+
+
+
+
+
+ Quotes +

Weblate is a gorgeous app! It really saved my life. Translations are managed within same version control as the code. Weblate is a gorgeous app! It really is my life. Translations are managed within it.

+
+
+
+ Quotes +
+
+

Donald McCalister

+ +

Dyson Electronics

+
+
+
+
+
+
+
+
+ Quotes +

Weblate is a gorgeous app! It really saved my life. Translations are managed within the same version control system as the code. Weblate is a gorgeous app! It really saved my life. Translations are managed within the same version control system as the code.

+
+
+
+

Elvis McCalister

+ +

No Case Study Ltd.

+
+ +
+
+
+
+
+
+
+ Quotes +

Weblate is a gorgeous app! It really saved my life. Translations are managed within the same version control system as the code. Weblate is a gorgeous app! It really saved my life. Translations are managed within the same version control system as the code.

+
+
+
+

Jonathan McCalister

+ +

Siemens Inc.

+
+ +
+
+
+
+
+
Quotes
+
Quotes
+
+
+
+ diff --git a/weblate_web/templates/snippets/users.html b/weblate_web/templates/snippets/users.html index b13b87dad0..eaf33e59f2 100644 --- a/weblate_web/templates/snippets/users.html +++ b/weblate_web/templates/snippets/users.html @@ -1,9 +1,12 @@ {% load i18n %} {% load static %} +Turris +SonicPi openSUSE +PhpMyAdmin +FreedomBox LibreOffice Fedora -Freedombox Collabora
{% trans "Discover Weblate" %}