Изменен дизайн главной страницы Добавлена возможность создания проектов/работ без регистрации Поправлены размеры "серых" блоковremotes/origin/PR-9
@ -1,12 +0,0 @@ |
|||||||
DATABASES = { |
|
||||||
'default': { |
|
||||||
'ENGINE': 'django.db.backends.postgresql_psycopg2', |
|
||||||
'NAME': 'proekton2', |
|
||||||
'USER': 'postgres', |
|
||||||
'PASSWORD': 'gum1756', |
|
||||||
'HOST': 'localhost', |
|
||||||
'PORT': '', |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
TEMPLATE_DEBUG = True |
|
||||||
|
After Width: | Height: | Size: 17 MiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 257 KiB After Width: | Height: | Size: 257 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 57 KiB |
@ -0,0 +1,81 @@ |
|||||||
|
/******/ (function(modules) { // webpackBootstrap
|
||||||
|
/******/ // The module cache
|
||||||
|
/******/ var installedModules = {}; |
||||||
|
|
||||||
|
/******/ // The require function
|
||||||
|
/******/ function __webpack_require__(moduleId) { |
||||||
|
|
||||||
|
/******/ // Check if module is in cache
|
||||||
|
/******/ if(installedModules[moduleId]) |
||||||
|
/******/ return installedModules[moduleId].exports; |
||||||
|
|
||||||
|
/******/ // Create a new module (and put it into the cache)
|
||||||
|
/******/ var module = installedModules[moduleId] = { |
||||||
|
/******/ exports: {}, |
||||||
|
/******/ id: moduleId, |
||||||
|
/******/ loaded: false |
||||||
|
/******/ }; |
||||||
|
|
||||||
|
/******/ // Execute the module function
|
||||||
|
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); |
||||||
|
|
||||||
|
/******/ // Flag the module as loaded
|
||||||
|
/******/ module.loaded = true; |
||||||
|
|
||||||
|
/******/ // Return the exports of the module
|
||||||
|
/******/ return module.exports; |
||||||
|
/******/ } |
||||||
|
|
||||||
|
|
||||||
|
/******/ // expose the modules object (__webpack_modules__)
|
||||||
|
/******/ __webpack_require__.m = modules; |
||||||
|
|
||||||
|
/******/ // expose the module cache
|
||||||
|
/******/ __webpack_require__.c = installedModules; |
||||||
|
|
||||||
|
/******/ // __webpack_public_path__
|
||||||
|
/******/ __webpack_require__.p = ""; |
||||||
|
|
||||||
|
/******/ // Load entry module and return exports
|
||||||
|
/******/ return __webpack_require__(0); |
||||||
|
/******/ }) |
||||||
|
/************************************************************************/ |
||||||
|
/******/ ({ |
||||||
|
|
||||||
|
/***/ 0: |
||||||
|
/***/ function(module, exports, __webpack_require__) { |
||||||
|
|
||||||
|
'use strict'; |
||||||
|
|
||||||
|
var _popupYoutube = __webpack_require__(12); |
||||||
|
|
||||||
|
$(function () { |
||||||
|
(0, _popupYoutube.popupYoutubeInit)(); |
||||||
|
}); |
||||||
|
|
||||||
|
/***/ }, |
||||||
|
|
||||||
|
/***/ 12: |
||||||
|
/***/ function(module, exports) { |
||||||
|
|
||||||
|
'use strict'; |
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", { |
||||||
|
value: true |
||||||
|
}); |
||||||
|
function popupYoutubeInit() { |
||||||
|
$('.popup-youtube').magnificPopup({ |
||||||
|
disableOn: 700, |
||||||
|
type: 'iframe', |
||||||
|
mainClass: 'mfp-fade', |
||||||
|
removalDelay: 160, |
||||||
|
preloader: false, |
||||||
|
fixedContentPos: false |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
exports.popupYoutubeInit = popupYoutubeInit; |
||||||
|
|
||||||
|
/***/ } |
||||||
|
|
||||||
|
/******/ }); |
||||||
@ -0,0 +1,5 @@ |
|||||||
|
import {popupYoutubeInit} from './seeds/popup-youtube' |
||||||
|
|
||||||
|
$(function () { |
||||||
|
popupYoutubeInit() |
||||||
|
}); |
||||||
@ -0,0 +1,67 @@ |
|||||||
|
const $form = $('#form-registration'); |
||||||
|
|
||||||
|
function clearErrors() { |
||||||
|
let $error_tags = $form.find('.errorlist'); |
||||||
|
if ($error_tags.length > 0) $error_tags.remove(); |
||||||
|
} |
||||||
|
|
||||||
|
function sendData(form_data) { |
||||||
|
// console.log("form_data = ", form_data);
|
||||||
|
$.ajax({ |
||||||
|
url: '/users/register/', |
||||||
|
type: 'post', |
||||||
|
data: form_data, |
||||||
|
success: function (data) { |
||||||
|
// console.log("success data -->", data);
|
||||||
|
$('#registrationFormModal').modal('toggle'); |
||||||
|
$('input[name=not_auth_user_id]').val(data.pk); |
||||||
|
$('#not_customer').hide(); |
||||||
|
$('#is_customer').show(); |
||||||
|
}, |
||||||
|
error: function (xhr, ajaxOptions, thrownError) { |
||||||
|
let status = xhr.status; |
||||||
|
if (status == 400) { |
||||||
|
let data = JSON.parse(xhr.responseText); |
||||||
|
$.each(data, function (key, value) { |
||||||
|
let ul = $("<ul class='errorlist'></ul>"); |
||||||
|
for (let error of value) { |
||||||
|
ul.append(`<li>${error}</li>`) |
||||||
|
} |
||||||
|
let $field; |
||||||
|
if (key == 'captcha_html') { |
||||||
|
// console.log("captcha html = ", key, '/', value);
|
||||||
|
$form.find('.captcha').html(value); |
||||||
|
return; |
||||||
|
} else if (key == 'captcha') { |
||||||
|
$field = $form.find('.g-recaptcha'); |
||||||
|
} else if (key == 'tos') { |
||||||
|
$field = $form.find(`input[name=${key}]`).parent(); |
||||||
|
} else { |
||||||
|
$field = $form.find(`input[name=${key}]`); |
||||||
|
if ($field.length == 0) console.log(`!!!field ${key} not found`); |
||||||
|
} |
||||||
|
if ($field.length > 0) $field.parent().append(ul); |
||||||
|
|
||||||
|
}); |
||||||
|
// console.log('captcha error = ', data.captcha);
|
||||||
|
// console.log('data type = ', typeof data);
|
||||||
|
} |
||||||
|
// console.log("data = ", xhr.responseText);
|
||||||
|
// console.log(ajaxOptions);
|
||||||
|
// console.log(thrownError);
|
||||||
|
} |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
function ajaxRegistrationInit(user_type) { |
||||||
|
// const $form = $('#form-registration');
|
||||||
|
$form.on("submit", function (e) { |
||||||
|
e.preventDefault(); |
||||||
|
// get form data and add user_type
|
||||||
|
clearErrors(); |
||||||
|
let form_data = $form.serialize() + "&user_type=" + encodeURIComponent(user_type); |
||||||
|
sendData(form_data); |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export {ajaxRegistrationInit} |
||||||
@ -0,0 +1,12 @@ |
|||||||
|
function popupYoutubeInit() { |
||||||
|
$('.popup-youtube').magnificPopup({ |
||||||
|
disableOn: 700, |
||||||
|
type: 'iframe', |
||||||
|
mainClass: 'mfp-fade', |
||||||
|
removalDelay: 160, |
||||||
|
preloader: false, |
||||||
|
fixedContentPos: false |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
export {popupYoutubeInit} |
||||||
@ -1,6 +1,17 @@ |
|||||||
function sendData(){ |
function sendData(form_data) { |
||||||
|
console.log("form_data = ", form_data); |
||||||
$.ajax({ |
$.ajax({ |
||||||
url: '', |
url: '/users/register/', |
||||||
|
type: 'post', |
||||||
|
data: form_data, |
||||||
|
success: function (data) { |
||||||
|
console.log("success data -->", data) |
||||||
|
}, |
||||||
|
error: function (xhr, ajaxOptions, thrownError) { |
||||||
|
console.log("status = ", xhr.status); |
||||||
|
console.log("data = ", xhr.responseText); |
||||||
|
console.log(ajaxOptions); |
||||||
|
console.log(thrownError); |
||||||
|
} |
||||||
}) |
}) |
||||||
} |
} |
||||||
@ -1,6 +1,24 @@ |
|||||||
|
.mod-align-bottom, |
||||||
.vertical-bottom |
.vertical-bottom |
||||||
|
//deprecated |
||||||
|
display: flex |
||||||
|
-ms-flex-align: end |
||||||
|
-webkit-align-items: flex-end |
||||||
|
-webkit-box-align: end |
||||||
|
align-items: flex-end |
||||||
|
|
||||||
|
.mod-align-center |
||||||
display: flex |
display: flex |
||||||
-ms-flex-align: center |
-ms-flex-align: center |
||||||
-webkit-align-items: center |
-webkit-align-items: center |
||||||
-webkit-box-align: center |
-webkit-box-align: center |
||||||
align-items: flex-end |
align-items: center |
||||||
|
|
||||||
|
.mod-no-padding |
||||||
|
padding: 0 !important |
||||||
|
|
||||||
|
.mod-row-eq-height |
||||||
|
display: -webkit-box |
||||||
|
display: -webkit-flex |
||||||
|
display: -ms-flexbox |
||||||
|
display: flex |
||||||
|
|||||||
@ -1,100 +1,145 @@ |
|||||||
{% extends 'partials/base.html' %} |
{% extends 'partials/base.html' %} |
||||||
|
{% load staticfiles %} |
||||||
|
{% load sass_tags %} |
||||||
|
{% load thumbnail %} |
||||||
|
{% block old_css %}{% endblock %} |
||||||
|
{% block head_css %} |
||||||
|
<link rel='stylesheet' href='{% static "js/magnific-popup.css" %}'> |
||||||
|
<link rel='stylesheet' href='{% sass_src "sass/main.sass" %}'> |
||||||
|
<link rel='stylesheet' href='{% sass_src "partials/sass/home.sass" %}'> |
||||||
|
{% endblock %} |
||||||
|
|
||||||
{% block content %} |
{% block content %} |
||||||
<section class="mainContainer"> |
{% include 'partials/header.html' %} |
||||||
{% include 'partials/header.html' %} |
<div class="home"> |
||||||
|
<div class="container"> |
||||||
<div class="container-fluid"> |
<div class="row"> |
||||||
<div class="row"> |
<div class="col-lg-12"> |
||||||
<p class="welcomeMain">{{ main_settings.heading }}</p> |
<p class="welcomeMain">{{ main_settings.heading }}</p> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
|
|
||||||
<div class="container-fluid"> |
<div class="row mod-row-eq-height"> |
||||||
<div class="row"> |
<div class="col-lg-5 col-lg-offset-1 mod-no-padding"> |
||||||
<div class="col-lg-6"> |
<div class="infoBlock customer"> |
||||||
<div class="changeBlock changeBlock2"> |
|
||||||
{% if request.user.is_authenticated and request.user.is_customer %} |
{% if request.user.is_authenticated and request.user.is_customer %} |
||||||
<a href="{% url 'users:customer-profile-open-projects' pk=request.user.pk %}">Я заказчик</a> |
<a class="to-profile" |
||||||
|
href="{% url 'users:customer-profile-open-projects' pk=request.user.pk %}">Я заказчик</a> |
||||||
{% else %} |
{% else %} |
||||||
<a href="{% url 'registration_register' %}?type=customer">Я заказчик</a> |
<a class="to-profile" href="{% url 'registration_register' %}?type=customer">Я заказчик</a> |
||||||
{% endif %} |
{% endif %} |
||||||
<p> |
<p> |
||||||
{{ main_settings.customer_text|safe }} |
<ul class="customer-list"> |
||||||
|
<li> |
||||||
|
<div class="icon-1"></div> |
||||||
|
<div class="text"> |
||||||
|
Ресурс для специалистов по проектированию, дизайну, оформлению и сопровождению |
||||||
|
проектной документации |
||||||
|
</div> |
||||||
|
</li> |
||||||
|
<li> |
||||||
|
<div class="icon-2"></div> |
||||||
|
<div class="text"> |
||||||
|
Удобный и быстрый поиск исполнителей |
||||||
|
</div> |
||||||
|
</li> |
||||||
|
<li> |
||||||
|
<div class="icon-3"></div> |
||||||
|
<div class="text"> |
||||||
|
Готовые сформированные группы исполнителей |
||||||
|
</div> |
||||||
|
</li> |
||||||
|
<li> |
||||||
|
<div class="icon-4"></div> |
||||||
|
<div class="text"> |
||||||
|
Безопасная сделка (договор без риска) |
||||||
|
</div> |
||||||
|
</li> |
||||||
|
<li> |
||||||
|
<div class="icon-5"></div> |
||||||
|
<div class="text"> |
||||||
|
Адекватная оценка стоимости работы |
||||||
|
</div> |
||||||
|
</li> |
||||||
|
<li> |
||||||
|
<div class="icon-6"></div> |
||||||
|
<div class="text"> |
||||||
|
Возможность купить готовые проекты, работы |
||||||
|
</div> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
</p> |
</p> |
||||||
</div> |
<a class="create" href="{% url 'projects:customer-project-create' %}">Разместить заказ</a> |
||||||
<div class="square"> |
</div> |
||||||
<div class="insetSquare"></div> |
</div> |
||||||
</div> |
<div class="col-lg-5 mod-no-padding"> |
||||||
</div> |
<div class="infoBlock contractor"> |
||||||
<div class="col-lg-6"> |
|
||||||
<div class="changeBlock changeBlock1"> |
|
||||||
{% if request.user.is_authenticated and request.user.is_contractor %} |
{% if request.user.is_authenticated and request.user.is_contractor %} |
||||||
<a href="{% url 'users:contractor-profile' pk=request.user.pk %}">Я исполнитель</a> |
<a class="to-profile" href="{% url 'users:contractor-profile' pk=request.user.pk %}">Я |
||||||
|
исполнитель</a> |
||||||
{% else %} |
{% else %} |
||||||
<a href="{% url 'registration_register' %}?type=contractor">Я исполнитель</a> |
<a class="to-profile" href="{% url 'registration_register' %}?type=contractor">Я |
||||||
|
исполнитель</a> |
||||||
{% endif %} |
{% endif %} |
||||||
<p> |
<p> |
||||||
{{ main_settings.contractor_text|safe }} |
<ul class="contractor-list"> |
||||||
|
<li> |
||||||
|
<div class="icon-7"></div> |
||||||
|
<div class="text"> |
||||||
|
Большой выбор заказов для исполнителей |
||||||
|
</div> |
||||||
|
</li> |
||||||
|
<li> |
||||||
|
<div class="icon-8"></div> |
||||||
|
<div class="text"> |
||||||
|
Удобный и быстрый поиск заказчиков |
||||||
|
</div> |
||||||
|
</li> |
||||||
|
<li> |
||||||
|
<div class="icon-9"></div> |
||||||
|
<div class="text"> |
||||||
|
Безопасная сделка (договор без риска) |
||||||
|
</div> |
||||||
|
</li> |
||||||
|
<li> |
||||||
|
<div class="icon-10"></div> |
||||||
|
<div class="text"> |
||||||
|
Печать, брошюровка и доставка проектной документации |
||||||
|
</div> |
||||||
|
</li> |
||||||
|
<li> |
||||||
|
<div class="icon-11"></div> |
||||||
|
<div class="text"> |
||||||
|
Возможность продать готовые проекты, работы |
||||||
|
</div> |
||||||
|
</li> |
||||||
|
<li> |
||||||
|
<div class="icon-12"></div> |
||||||
|
<div class="text"> |
||||||
|
Платформа разработана для проектировщиков дизайнеров и технических заказчиков |
||||||
|
</div> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
</p> |
</p> |
||||||
</div> |
<a class="create" href="{% url 'work_sell:create' %}">Добавить проект</a> |
||||||
|
</div> |
||||||
</div> |
</div> |
||||||
|
</div> |
||||||
</div> |
<div class="row"> |
||||||
</div> |
<div class="col-lg-12"> |
||||||
|
<a class="popup-youtube youtube" href="{{ main_settings.video_code }}"> |
||||||
<div class="container-fluid"> |
</a> |
||||||
<div class="row"> |
</div> |
||||||
<a class="popup-youtube" href="{{ main_settings.video_code }}"> |
</div> |
||||||
<div class="youtube"></div> |
</div> |
||||||
</a> |
</div> |
||||||
|
{% include 'partials/footer.html' %} |
||||||
{# <!-- Modal HTML -->#} |
|
||||||
{# <div id="myModal" class="modal fade">#} |
|
||||||
{# <div class="modal-dialog">#} |
|
||||||
{# <div class="modal-content">#} |
|
||||||
{# <div class="modal-header">#} |
|
||||||
{# <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>#} |
|
||||||
{# <h4 class="modal-title">Видео</h4>#} |
|
||||||
{# </div>#} |
|
||||||
{# <div class="modal-body">#} |
|
||||||
{# <div id="modal-body-video">#} |
|
||||||
{# {{ main_settings.video_code | safe }}#} |
|
||||||
{# </div>#} |
|
||||||
{# </div>#} |
|
||||||
{# </div>#} |
|
||||||
{# </div>#} |
|
||||||
{# </div>#} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</section> |
|
||||||
{% endblock %} |
{% endblock %} |
||||||
|
|
||||||
|
{% block old_js %} |
||||||
|
<script src='{% static "js/bootstrap.min.js" %}'></script> |
||||||
|
{% endblock %} |
||||||
{% block js_block %} |
{% block js_block %} |
||||||
<script> |
<script src='{% static "js/jquery.magnific-popup.js" %}'></script> |
||||||
$(document).ready(function() { |
<script src='{% static "js/build/home_page.js" %}'></script> |
||||||
$('.popup-youtube').magnificPopup({ |
|
||||||
disableOn: 700, |
|
||||||
type: 'iframe', |
|
||||||
mainClass: 'mfp-fade', |
|
||||||
removalDelay: 160, |
|
||||||
preloader: false, |
|
||||||
fixedContentPos: false |
|
||||||
}); |
|
||||||
}); |
|
||||||
|
|
||||||
{# $(document).ready(function(){#} |
|
||||||
{# var modalBodyVideo = $("#modal-body-video").clone(true);#} |
|
||||||
{# #} |
|
||||||
{# $("#myModal").on('hide.bs.modal', function(){#} |
|
||||||
{# $("#modal-body-video").remove();#} |
|
||||||
{# });#} |
|
||||||
{# #} |
|
||||||
{# $("#myModal").on('show.bs.modal', function(){#} |
|
||||||
{# $("#modal-body-video").remove();#} |
|
||||||
{# modalBodyVideo.appendTo('.modal-body');#} |
|
||||||
{# });#} |
|
||||||
{# });#} |
|
||||||
</script> |
|
||||||
{% endblock %} |
{% endblock %} |
||||||
|
|||||||
@ -0,0 +1,3 @@ |
|||||||
|
{{ form.captcha }} |
||||||
|
{{ user_form.captcha }} |
||||||
|
{{ form.captcha.errors }} |
||||||
@ -0,0 +1,61 @@ |
|||||||
|
{% load sass_tags %} |
||||||
|
<link rel='stylesheet' href='{% sass_src "partials/sass/registration.sass" %}'> |
||||||
|
<script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script> |
||||||
|
<div class="form-regestration"> |
||||||
|
<form method="post" id="form-registration">{% csrf_token %} |
||||||
|
{{ form.non_field_errors }} |
||||||
|
|
||||||
|
{% if not hide_user_type %} |
||||||
|
<div class="col-lg-12 select-reg polsF1"> |
||||||
|
{{ form.user_type }} |
||||||
|
{{ form.user_type.errors }} |
||||||
|
</div> |
||||||
|
{% endif %} |
||||||
|
|
||||||
|
<div class="col-lg-12 select-reg"> |
||||||
|
<input type="text" name="username" value="{{ form.username.value }}" |
||||||
|
class="box-sizing email-reg" |
||||||
|
placeholder="Nickname"> |
||||||
|
{{ form.username.errors }} |
||||||
|
</div> |
||||||
|
<div class="col-lg-12 select-reg "> |
||||||
|
<input type="text" name="email" class="box-sizing email-reg" |
||||||
|
value="{{ form.email.value }}" placeholder="Электронная почта"> |
||||||
|
{{ form.email.errors }} |
||||||
|
</div> |
||||||
|
<div class="col-lg-12 select-reg"> |
||||||
|
<input type="password" name="password1" class="box-sizing pass-reg" |
||||||
|
placeholder="Пароль"> |
||||||
|
{{ form.password1.errors }} |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="col-lg-12 select-reg"> |
||||||
|
<input type="password" name="password2" class="box-sizing pass-reg" |
||||||
|
placeholder="Пароль"> |
||||||
|
{{ form.password2.errors }} |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="col-lg-12 select-reg captcha"> |
||||||
|
{% include 'partials/inc-captcha.html' %} |
||||||
|
</div> |
||||||
|
<div class="col-lg-12 select-reg"> |
||||||
|
<button class="reg-sub">Зарегистрироваться</button> |
||||||
|
</div> |
||||||
|
<div class="clearfix"></div> |
||||||
|
|
||||||
|
{% include 'registration/social.html' %} |
||||||
|
|
||||||
|
<div class="col-lg-12 select-reg"> |
||||||
|
<div class="check-reg"> |
||||||
|
<label><input type="checkbox" name="tos" {{ form.tos.value }} /><span></span></label> |
||||||
|
<p>Регистрируясь, я подтверждаю свое согласие у условиями <a href="#">пользовательского соглашения</a> |
||||||
|
</p> |
||||||
|
{{ form.tos.errors }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</form> |
||||||
|
<div class="col-lg-12 select-reg"> |
||||||
|
<a href="{% url 'auth_login' %}" class="have-ac">Я уже зарегистрирован на ресурсе</a> |
||||||
|
</div> |
||||||
|
|
||||||
|
</div> |
||||||
@ -0,0 +1,19 @@ |
|||||||
|
<div class="modal fade" id="registrationFormModal" tabindex="-2"> |
||||||
|
<div class="modal-dialog" role="document"> |
||||||
|
<div class="modal-content"> |
||||||
|
<div class="modal-header"> |
||||||
|
<button type="button" class="close" data-dismiss="modal"><span>×</span></button> |
||||||
|
<h4 class="modal-title">Регистрация</h4> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="modal-body"> |
||||||
|
{% include 'partials/inc-registration_form.html' %} |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="modal-footer"> |
||||||
|
<button type="button" class="btn btn-default" data-dismiss="modal">Отмена</button> |
||||||
|
{# <button type="button" class="btn btn-primary -action-button">Предложить</button>#} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
@ -0,0 +1,160 @@ |
|||||||
|
@import "base/variavles" |
||||||
|
@import "base/fonts" |
||||||
|
|
||||||
|
.home |
||||||
|
background: |
||||||
|
image: url("#{$static}/img/main.png") |
||||||
|
repeat: no-repeat |
||||||
|
position: center |
||||||
|
size: cover |
||||||
|
|
||||||
|
.icons |
||||||
|
display: inline-block |
||||||
|
width: 24px |
||||||
|
height: 24px |
||||||
|
background: |
||||||
|
image: url("#{$static}/img/sprite.png") |
||||||
|
repeat: no-repeat |
||||||
|
|
||||||
|
.infoBlock |
||||||
|
//padding: 113px 0 0 0 |
||||||
|
height: 100% |
||||||
|
text-align: center |
||||||
|
padding: 80px 0 40px |
||||||
|
ul |
||||||
|
&.customer-list, |
||||||
|
&.contractor-list |
||||||
|
text-align: left |
||||||
|
padding-left: 60px |
||||||
|
padding-right: 20px |
||||||
|
li |
||||||
|
display: flex |
||||||
|
align-items: center |
||||||
|
padding-top: 10px |
||||||
|
list-style: none |
||||||
|
font-size: 12px |
||||||
|
.text |
||||||
|
padding-left: 10px |
||||||
|
display: inline-block |
||||||
|
.icon |
||||||
|
&-1 |
||||||
|
@extend .icons |
||||||
|
width: 40px |
||||||
|
background-position: 0 0 |
||||||
|
&-2 |
||||||
|
@extend .icons |
||||||
|
background-position: 0 -24px |
||||||
|
&-3 |
||||||
|
@extend .icons |
||||||
|
background-position: 0 -48px |
||||||
|
&-4 |
||||||
|
@extend .icons |
||||||
|
background-position: 0 -72px |
||||||
|
&-5 |
||||||
|
@extend .icons |
||||||
|
background-position: 0 -96px |
||||||
|
&-6 |
||||||
|
@extend .icons |
||||||
|
background-position: 0 -120px |
||||||
|
&-7 |
||||||
|
@extend .icons |
||||||
|
background-position: 0 -144px |
||||||
|
&-8 |
||||||
|
@extend .icons |
||||||
|
background-position: 0 -168px |
||||||
|
&-9 |
||||||
|
@extend .icons |
||||||
|
background-position: 0 -192px |
||||||
|
&-10 |
||||||
|
@extend .icons |
||||||
|
background-position: 0 -216px |
||||||
|
&-11 |
||||||
|
@extend .icons |
||||||
|
background-position: 0 -240px |
||||||
|
&-12 |
||||||
|
@extend .icons |
||||||
|
background-position: 0 -264px |
||||||
|
|
||||||
|
&.customer-list |
||||||
|
li |
||||||
|
color: #c7c5c5 |
||||||
|
&.contractor-list |
||||||
|
li |
||||||
|
color: #353434 |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
a |
||||||
|
text-decoration: none |
||||||
|
border: none |
||||||
|
cursor: pointer |
||||||
|
& > a.to-profile |
||||||
|
height: 40px |
||||||
|
border-radius: 40px |
||||||
|
font-size: 20px |
||||||
|
text-transform: uppercase |
||||||
|
font-family: 'pfdintextcomppro-regular', sans-serif |
||||||
|
letter-spacing: 4px |
||||||
|
position: relative |
||||||
|
display: table |
||||||
|
margin: 0 auto |
||||||
|
a.create |
||||||
|
font-family: Myriad, sans-serif |
||||||
|
font-weight: normal |
||||||
|
font-size: 18pt |
||||||
|
display: inline-block |
||||||
|
margin-top: 40px |
||||||
|
text-transform: uppercase |
||||||
|
&.customer |
||||||
|
background-color: rgba(0, 0, 0, 0.7) |
||||||
|
p, a.create |
||||||
|
color: #c7c5c5 |
||||||
|
&:hover |
||||||
|
color: #f3f1f1 |
||||||
|
& > a.to-profile |
||||||
|
&:link, &:visited |
||||||
|
background: url('#{$static}/img/button2.png') no-repeat 27px, white |
||||||
|
color: black |
||||||
|
padding: 24px 26px 20px 72px |
||||||
|
&:hover |
||||||
|
box-shadow: 0 0 15px rgba(255, 255, 255, 0.8) |
||||||
|
-webkit-transform: scale(1.04) |
||||||
|
-moz-transform: scale(1.04) |
||||||
|
transform: scale(1.04) |
||||||
|
&.contractor |
||||||
|
background-color: rgba(255, 0, 6, 0.7) |
||||||
|
p, a.create |
||||||
|
color: #353434 |
||||||
|
&:hover |
||||||
|
color: #141313 |
||||||
|
& > a.to-profile |
||||||
|
&:link, &:visited |
||||||
|
background: url('#{$static}/img/button1.png') no-repeat 25px, black |
||||||
|
color: white |
||||||
|
padding: 24px 26px 20px 72px |
||||||
|
&:hover |
||||||
|
box-shadow: 0 0 15px rgba(0, 0, 0, 0.8) |
||||||
|
-webkit-transform: scale(1.04) |
||||||
|
-moz-transform: scale(1.04) |
||||||
|
transform: scale(1.04) |
||||||
|
|
||||||
|
.youtube |
||||||
|
display: block |
||||||
|
border-radius: 50% |
||||||
|
width: 80px |
||||||
|
height: 80px |
||||||
|
margin: 20px auto 40px |
||||||
|
//border-radius: 100% |
||||||
|
cursor: pointer |
||||||
|
background: |
||||||
|
image: url('#{$static}/img/youtube.png') |
||||||
|
repeat: no-repeat |
||||||
|
position: center |
||||||
|
size: cover |
||||||
|
&:hover |
||||||
|
box-shadow: 0 0 15px rgba(255, 19, 19, 0.8) |
||||||
|
-webkit-transform: scale(1.04) |
||||||
|
-moz-transform: scale(1.04) |
||||||
|
transform: scale(1.04) |
||||||
|
&:focus |
||||||
|
outline: none |
||||||
@ -0,0 +1,119 @@ |
|||||||
|
@import "base/variavles" |
||||||
|
|
||||||
|
.form-regestration |
||||||
|
display: table |
||||||
|
width: 100% |
||||||
|
float: left |
||||||
|
margin: 0 0 80px 0 |
||||||
|
padding: 67px 0 |
||||||
|
//padding: 20px 0 67px 0 |
||||||
|
background-color: #ddd |
||||||
|
text-align: center |
||||||
|
a, a:hover |
||||||
|
text-decoration: none |
||||||
|
a:hover |
||||||
|
color: #6f7bff |
||||||
|
|
||||||
|
.select-reg |
||||||
|
.btn-group |
||||||
|
display: inline-block |
||||||
|
vertical-align: top |
||||||
|
&.captcha |
||||||
|
text-align: center |
||||||
|
.g-recaptcha |
||||||
|
display: inline-table |
||||||
|
margin: 25px 0 0 0 |
||||||
|
input[type="checkbox"] + span |
||||||
|
position: absolute |
||||||
|
left: 0 |
||||||
|
top: 0 |
||||||
|
width: 100% |
||||||
|
height: 100% |
||||||
|
background: |
||||||
|
image: url('#{$static}/img/check.png') |
||||||
|
repeat: no-repeat |
||||||
|
position: 0 0 |
||||||
|
size: cover |
||||||
|
cursor: pointer |
||||||
|
label |
||||||
|
width: 23px |
||||||
|
height: 23px |
||||||
|
display: block |
||||||
|
position: relative |
||||||
|
margin-right: 10px |
||||||
|
|
||||||
|
input[type="checkbox"]:checked + span |
||||||
|
background-position: 0 -23px |
||||||
|
|
||||||
|
.email-reg, .pass-reg |
||||||
|
width: 360px |
||||||
|
height: 51px |
||||||
|
display: inline-block |
||||||
|
vertical-align: top |
||||||
|
padding: 0 15px |
||||||
|
font-size: 15px |
||||||
|
background-color: white |
||||||
|
color: black |
||||||
|
margin: 20px 0 0 0 |
||||||
|
font-family: 'Arial-MT-Regular', sans-serif |
||||||
|
border: none !important |
||||||
|
|
||||||
|
.reg-sub |
||||||
|
width: 360px |
||||||
|
height: 51px |
||||||
|
color: white |
||||||
|
text-align: center |
||||||
|
font-family: 'pfdintextcomppro-regular', sans-serif |
||||||
|
letter-spacing: 2px |
||||||
|
line-height: 51px |
||||||
|
border: none |
||||||
|
background-color: #42B476 |
||||||
|
border-radius: 40px |
||||||
|
display: inline-block |
||||||
|
vertical-align: top |
||||||
|
margin-top: 20px |
||||||
|
font-size: 15px |
||||||
|
text-transform: uppercase |
||||||
|
&:active, &:focus |
||||||
|
outline: none !important |
||||||
|
|
||||||
|
.check-reg |
||||||
|
width: 360px |
||||||
|
display: inline-block |
||||||
|
vertical-align: top |
||||||
|
margin-top: 20px |
||||||
|
label |
||||||
|
float: left |
||||||
|
p |
||||||
|
font-family: 'Arial-MT-Regular', sans-serif |
||||||
|
color: #6c6c6c |
||||||
|
font-size: 15px |
||||||
|
float: left |
||||||
|
/*margin: -2px 0 0 10px; |
||||||
|
line-height: 18px |
||||||
|
width: 90% |
||||||
|
text-align: left |
||||||
|
> a |
||||||
|
color: #009DD9 |
||||||
|
&:link, &:visited |
||||||
|
color: #009DD9 |
||||||
|
&:hover |
||||||
|
color: #6f7bff |
||||||
|
|
||||||
|
.have-ac, .have-ac:link, .have-ac:visited |
||||||
|
color: #009DD9 |
||||||
|
font-size: 17px |
||||||
|
font-family: 'Arial-MT-Regular', sans-serif |
||||||
|
text-transform: uppercase |
||||||
|
display: inline-block |
||||||
|
|
||||||
|
.form-regestration |
||||||
|
.errorlist |
||||||
|
color: red |
||||||
|
//width: 360px |
||||||
|
//margin: 0 auto |
||||||
|
//text-align: left |
||||||
|
font-family: 'Arial-MT-Regular', sans-serif |
||||||
|
font-size: 15px |
||||||
|
li |
||||||
|
list-style: none |
||||||
@ -0,0 +1,100 @@ |
|||||||
|
{% extends 'partials/base.html' %} |
||||||
|
|
||||||
|
{% block content %} |
||||||
|
<section class="mainContainer"> |
||||||
|
{% include 'partials/header.html' %} |
||||||
|
|
||||||
|
<div class="container-fluid"> |
||||||
|
<div class="row"> |
||||||
|
<p class="welcomeMain">{{ main_settings.heading }}</p> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="container-fluid"> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-lg-6"> |
||||||
|
<div class="changeBlock changeBlock2"> |
||||||
|
{% if request.user.is_authenticated and request.user.is_customer %} |
||||||
|
<a href="{% url 'users:customer-profile-open-projects' pk=request.user.pk %}">Я заказчик</a> |
||||||
|
{% else %} |
||||||
|
<a href="{% url 'registration_register' %}?type=customer">Я заказчик</a> |
||||||
|
{% endif %} |
||||||
|
<p> |
||||||
|
{{ main_settings.customer_text|safe }} |
||||||
|
</p> |
||||||
|
</div> |
||||||
|
<div class="square"> |
||||||
|
<div class="insetSquare"></div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="col-lg-6"> |
||||||
|
<div class="changeBlock changeBlock1"> |
||||||
|
{% if request.user.is_authenticated and request.user.is_contractor %} |
||||||
|
<a href="{% url 'users:contractor-profile' pk=request.user.pk %}">Я исполнитель</a> |
||||||
|
{% else %} |
||||||
|
<a href="{% url 'registration_register' %}?type=contractor">Я исполнитель</a> |
||||||
|
{% endif %} |
||||||
|
<p> |
||||||
|
{{ main_settings.contractor_text|safe }} |
||||||
|
</p> |
||||||
|
</div> |
||||||
|
|
||||||
|
</div> |
||||||
|
|
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="container-fluid"> |
||||||
|
<div class="row"> |
||||||
|
<a class="popup-youtube" href="{{ main_settings.video_code }}"> |
||||||
|
<div class="youtube"></div> |
||||||
|
</a> |
||||||
|
|
||||||
|
{# <!-- Modal HTML -->#} |
||||||
|
{# <div id="myModal" class="modal fade">#} |
||||||
|
{# <div class="modal-dialog">#} |
||||||
|
{# <div class="modal-content">#} |
||||||
|
{# <div class="modal-header">#} |
||||||
|
{# <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>#} |
||||||
|
{# <h4 class="modal-title">Видео</h4>#} |
||||||
|
{# </div>#} |
||||||
|
{# <div class="modal-body">#} |
||||||
|
{# <div id="modal-body-video">#} |
||||||
|
{# {{ main_settings.video_code | safe }}#} |
||||||
|
{# </div>#} |
||||||
|
{# </div>#} |
||||||
|
{# </div>#} |
||||||
|
{# </div>#} |
||||||
|
{# </div>#} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</section> |
||||||
|
{% endblock %} |
||||||
|
|
||||||
|
{% block js_block %} |
||||||
|
<script> |
||||||
|
$(document).ready(function() { |
||||||
|
$('.popup-youtube').magnificPopup({ |
||||||
|
disableOn: 700, |
||||||
|
type: 'iframe', |
||||||
|
mainClass: 'mfp-fade', |
||||||
|
removalDelay: 160, |
||||||
|
preloader: false, |
||||||
|
fixedContentPos: false |
||||||
|
}); |
||||||
|
}); |
||||||
|
|
||||||
|
{# $(document).ready(function(){#} |
||||||
|
{# var modalBodyVideo = $("#modal-body-video").clone(true);#} |
||||||
|
{# #} |
||||||
|
{# $("#myModal").on('hide.bs.modal', function(){#} |
||||||
|
{# $("#modal-body-video").remove();#} |
||||||
|
{# });#} |
||||||
|
{# #} |
||||||
|
{# $("#myModal").on('show.bs.modal', function(){#} |
||||||
|
{# $("#modal-body-video").remove();#} |
||||||
|
{# modalBodyVideo.appendTo('.modal-body');#} |
||||||
|
{# });#} |
||||||
|
{# });#} |
||||||
|
</script> |
||||||
|
{% endblock %} |
||||||