diff --git a/RoutesApp/js_views.py b/RoutesApp/js_views.py index a1ea0ed..5920984 100644 --- a/RoutesApp/js_views.py +++ b/RoutesApp/js_views.py @@ -279,7 +279,7 @@ def find_routes_ajax(request): if routes_Dict['routes']: - html = render_to_string('blocks/b_search_routes.html', routes_Dict, request=request) + html = render_to_string('v2/blocks/b_search_routes_result.html', routes_Dict, request=request) else: html = render_to_string('templates_js_translate/not_found_find_routes.html', routes_Dict, request=request) diff --git a/static/v2/css/blocks/b_filter_routes.css b/static/v2/css/blocks/b_filter_routes.css index 1b4f274..c4ca702 100644 --- a/static/v2/css/blocks/b_filter_routes.css +++ b/static/v2/css/blocks/b_filter_routes.css @@ -5,6 +5,7 @@ background: #FFFFFF; border-radius: 10px; + height: fit-content; .title{ font-size: var(--form-title-font-size); font-weight: 700; diff --git a/static/v2/css/pages/p_search_route_results.css b/static/v2/css/pages/p_search_route_results.css index fa12574..5b5469b 100644 --- a/static/v2/css/pages/p_search_route_results.css +++ b/static/v2/css/pages/p_search_route_results.css @@ -10,5 +10,6 @@ .routes_content_part{ margin-top: 50px; display: grid; - grid-template-columns: 30% calc(100% - 30%); + grid-template-columns: 30% calc(100% - 30% - 41px); + gap: 41px; } \ No newline at end of file diff --git a/static/v2/css/widgets/w_route_card.css b/static/v2/css/widgets/w_route_card.css index 68645c3..ec993d1 100644 --- a/static/v2/css/widgets/w_route_card.css +++ b/static/v2/css/widgets/w_route_card.css @@ -392,7 +392,7 @@ justify-content: center; text-align: unset; } - &:not(&.inactive){ + &:not(&.inactive) and &:not(&.unhovered){ &:hover{ background: var(--route-btn-hover-bg); .route_btn_title{color: var(--route-btn-hover-text-color);} @@ -455,4 +455,20 @@ font-size: var(--route-number-font-size); margin-top: var(--route-number-margin-top); } + .respond_route_cont{ + display: grid; + grid-template-columns: calc(100% - 47px) 37px; + gap: 10px; + } + .chat_btn{ + padding: 6.5px; + background: #FF613A; + border-radius: 10px; + img{ + display: block; + height: 24px; + width: 24px; + filter: invert(1); + } + } } \ No newline at end of file diff --git a/static/v2/icons/widgets/w_route_card/chat.png b/static/v2/icons/widgets/w_route_card/chat.png new file mode 100644 index 0000000..8ed8e98 Binary files /dev/null and b/static/v2/icons/widgets/w_route_card/chat.png differ diff --git a/static/v2/js/blocks/b_search_routes.js b/static/v2/js/blocks/b_search_routes.js index f17586a..480b3cc 100644 --- a/static/v2/js/blocks/b_search_routes.js +++ b/static/v2/js/blocks/b_search_routes.js @@ -9,7 +9,10 @@ function searchRoutes (form) { data: formData, data_type: 'formData', success: function (res) { + if (!res.html) return; + let $parent = $('.routes_search_results')[0] + $parent.innerHTML = res.html; } }) diff --git a/static/v2/js/twb.js b/static/v2/js/twb.js index e69de29..c521678 100644 --- a/static/v2/js/twb.js +++ b/static/v2/js/twb.js @@ -0,0 +1,3 @@ +function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); +} \ No newline at end of file diff --git a/static/v2/js/widgets/w_route_card.js b/static/v2/js/widgets/w_route_card.js index be77276..d36c366 100644 --- a/static/v2/js/widgets/w_route_card.js +++ b/static/v2/js/widgets/w_route_card.js @@ -114,4 +114,15 @@ function highlightRoute(el) { }); request.ajaxRequest() +} + +function respondBtnClickEvent(el) { + if (!el) return; + let $parent = el.closest(".route_card_owner_info") + let $responde_cont = $parent.querySelector(".respond_route_cont") + + $(el).fadeOut(500); + sleep(500).then(() => { + $($responde_cont).fadeIn(500); + }) } \ No newline at end of file diff --git a/templates/v2/blocks/b_my_routes.html b/templates/v2/blocks/b_my_routes.html index eb2fedd..446dd7b 100644 --- a/templates/v2/blocks/b_my_routes.html +++ b/templates/v2/blocks/b_my_routes.html @@ -3,6 +3,6 @@
{% for route in routes %} - {% include 'v2/widgets/w_customer_route_card.html' with route=route %} + {% include 'v2/widgets/w_route_card.html' with route=route %} {% endfor %}
\ No newline at end of file diff --git a/templates/v2/blocks/b_search_routes_result.html b/templates/v2/blocks/b_search_routes_result.html new file mode 100644 index 0000000..bb3d718 --- /dev/null +++ b/templates/v2/blocks/b_search_routes_result.html @@ -0,0 +1,6 @@ +{% load static %} +{% load i18n %} + +{% for route in routes %} + {% include "v2/widgets/w_route_card_for_search.html" %} +{% endfor %} \ No newline at end of file diff --git a/templates/v2/content_widgets/w_route_card/route_card_actions_container.html b/templates/v2/content_widgets/w_route_card/route_card_actions_container.html new file mode 100644 index 0000000..4ebf928 --- /dev/null +++ b/templates/v2/content_widgets/w_route_card/route_card_actions_container.html @@ -0,0 +1,39 @@ +{% load static %} +{% load i18n %} + +
+
{% trans "Удалить" %}
+
+
+
{% trans "Поднять" %}
+
Осталось поднятий: {{ remains_route_rising_count }}
+
+
+
{% trans "Выделить цветом" %}
+
Осталось выделений: {{ remains_route_highlight_count }}
+
+
+
{% trans "Редактировать" %}
+
+
+
+
+ +
{{ route.phone }}
+
+
+
+
{% trans "Редактировать" %}
+
+
+
+
{% trans "Поднять" %}
+
Осталось поднятий: {{ remains_route_rising_count }}
+
+
+
{% trans "Выделить цветом" %}
+
Осталось выделений: {{ remains_route_highlight_count }}
+
+
+
{% trans "Удалить" %}
+
\ No newline at end of file diff --git a/templates/v2/content_widgets/w_route_card/route_card_info_data.html b/templates/v2/content_widgets/w_route_card/route_card_info_data.html new file mode 100644 index 0000000..c308ad6 --- /dev/null +++ b/templates/v2/content_widgets/w_route_card/route_card_info_data.html @@ -0,0 +1,50 @@ +{% load static %} +{% load i18n %} + +
+ + +
+
+
{{ route.owner }}
+
+
{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}
+
{% trans "Тип посылки:" %}
{{ route.get_cargo_type_display }}
+
+
+ +
{{ route.phone }}
+
+
+
+ {% if route.comment %} + {{ route.comment|linebreaksbr }} + {% else %} + {% trans "Комментарий отсутствует" %} + {% endif %} +
+
{% trans "Объявление №" %} {{ route.id }}
+
+
+ + +
+
+
{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}
+
{% trans "Тип посылки:" %}
{{ route.get_cargo_type_display }}
+
+
+ +
{{ route.phone }}
+
+
+
{{ route.owner }}
+
+ {% if route.comment %} + {{ route.comment|linebreaksbr }} + {% else %} + {% trans "Комментарий отсутствует" %} + {% endif %} +
+
{% trans "Объявление №" %} {{ route.id }}
+
\ No newline at end of file diff --git a/templates/v2/content_widgets/w_route_card/route_card_info_data_for_search.html b/templates/v2/content_widgets/w_route_card/route_card_info_data_for_search.html new file mode 100644 index 0000000..47ca631 --- /dev/null +++ b/templates/v2/content_widgets/w_route_card/route_card_info_data_for_search.html @@ -0,0 +1,54 @@ +{% load static %} +{% load i18n %} + +
+ + +
+
+
{{ route.owner }}
+
+
{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}
+
{% trans "Тип посылки:" %}
{{ route.get_cargo_type_display }}
+
+ +
+
{% trans "Откликнуться" %}
+
+
+
+ {% if route.comment %} + {{ route.comment|linebreaksbr }} + {% else %} + {% trans "Комментарий отсутствует" %} + {% endif %} +
+
{% trans "Объявление №" %} {{ route.id }}
+
+
+ + +
+
+
{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}
+
{% trans "Тип посылки:" %}
{{ route.get_cargo_type_display }}
+
+
+
{{ route.owner }}
+
+ {% if route.comment %} + {{ route.comment|linebreaksbr }} + {% else %} + {% trans "Комментарий отсутствует" %} + {% endif %} +
+
{% trans "Объявление №" %} {{ route.id }}
+
\ No newline at end of file diff --git a/templates/v2/content_widgets/w_route_card/route_card_route_data.html b/templates/v2/content_widgets/w_route_card/route_card_route_data.html new file mode 100644 index 0000000..4a4f645 --- /dev/null +++ b/templates/v2/content_widgets/w_route_card/route_card_route_data.html @@ -0,0 +1,129 @@ +{% load static %} +{% load i18n %} + +
+
+
{% trans "Забрать из:" %}
+
+
+ +
{{ route.from_city.country.code }}
+
+
+ {{ route.from_city.name }}/{{ route.from_city.country.name }} +
+
+ {% if route.owner_type == 'mover' %} +
+ {% trans "Отправка:" %} +
{{ route.departure_DT|date:'d F Y' }}
+
+ {% endif %} +
+
+
+
{{ route.get_type_transport_display }}
+ {% if route.type_transport == '' %} + + + {% elif route.type_transport == 'road' %} + + {% elif route.type_transport == 'avia' %} + + {% endif %} +
+
+
+
+
+
+
+ {% if route.owner_type == 'customer' %} +
+ {% trans "Дата доставки:" %} +
{{ route.arrival_DT|date:'d F Y' }}
+
+ {% endif %} +
+
+
{% trans "Доставить в:" %}
+
+
+ +
{{ route.to_city.country.code }}
+
+
+ {{ route.to_city.name }}/{{ route.to_city.country.name }} +
+
+ {% if route.owner_type == 'mover' %} +
+ {% trans "Прибытие:" %} +
{{ route.arrival_DT|date:'d F Y' }}
+
+ {% endif %} +
+
+
+
+
+
+
+
+
+
+
+
{% trans "Забрать из:" %}
+
+
+ +
{{ route.from_city.country.code }}
+
+
+ {{ route.from_city.name }}/{{ route.from_city.country.name }} +
+
+
+
+
+
{{ route.get_type_transport_display }}
+ {% if route.type_transport == '' %} + + + {% elif route.type_transport == 'road' %} + + {% elif route.type_transport == 'avia' %} + + {% endif %} +
+
+ {% if route.owner_type == 'customer' %} +
+ {% trans "Дата доставки:" %} +
{{ route.arrival_DT|date:'d F Y' }}
+
+ {% else %} +
+ {% trans "Отправка:" %} +
{{ route.departure_DT|date:'d F Y' }}
+
+
+ {% trans "Прибытие:" %} +
{{ route.arrival_DT|date:'d F Y' }}
+
+ {% endif %} +
+
+
{% trans "Доставить в:" %}
+
+
+ +
{{ route.to_city.country.code }}
+
+
+ {{ route.to_city.name }}/{{ route.to_city.country.name }} +
+
+
+
+
\ No newline at end of file diff --git a/templates/v2/pages/p_search_route_results.html b/templates/v2/pages/p_search_route_results.html index 42ab478..12c3505 100644 --- a/templates/v2/pages/p_search_route_results.html +++ b/templates/v2/pages/p_search_route_results.html @@ -7,10 +7,12 @@ + + {% endblock %} {% block content %} @@ -18,8 +20,6 @@ {% include 'v2/blocks/b_search_routes.html' %}
{% include "v2/blocks/b_filter_routes.html" %} -
- -
+
{% endblock %} \ No newline at end of file diff --git a/templates/v2/widgets/w_customer_route_card.html b/templates/v2/widgets/w_customer_route_card.html deleted file mode 100644 index e04943a..0000000 --- a/templates/v2/widgets/w_customer_route_card.html +++ /dev/null @@ -1,214 +0,0 @@ -{% load i18n %} -{% load static %} - -
-
- - -
-
-
{{ route.owner }}
-
-
{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}
-
{% trans "Тип посылки:" %}
{{ route.get_cargo_type_display }}
-
-
- -
{{ route.phone }}
-
-
-
- {% if route.comment %} - {{ route.comment|linebreaksbr }} - {% else %} - {% trans "Комментарий отсутствует" %} - {% endif %} -
-
{% trans "Объявление №" %} {{ route.id }}
-
-
- - -
-
-
{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}
-
{% trans "Тип посылки:" %}
{{ route.get_cargo_type_display }}
-
-
- -
{{ route.phone }}
-
-
-
{{ route.owner }}
-
- {% if route.comment %} - {{ route.comment|linebreaksbr }} - {% else %} - {% trans "Комментарий отсутствует" %} - {% endif %} -
-
{% trans "Объявление №" %} {{ route.id }}
-
-
-
-
{% trans "Забрать из:" %}
-
-
- -
{{ route.from_city.country.code }}
-
-
- {{ route.from_city.name }}/{{ route.from_city.country.name }} -
-
- {% if route.owner_type == 'mover' %} -
- {% trans "Отправка:" %} -
{{ route.departure_DT|date:'d F Y' }}
-
- {% endif %} -
-
-
-
{{ route.get_type_transport_display }}
- {% if route.type_transport == '' %} - - - {% elif route.type_transport == 'road' %} - - {% elif route.type_transport == 'avia' %} - - {% endif %} -
-
-
-
-
-
-
- {% if route.owner_type == 'customer' %} -
- {% trans "Дата доставки:" %} -
{{ route.arrival_DT|date:'d F Y' }}
-
- {% endif %} -
-
-
{% trans "Доставить в:" %}
-
-
- -
{{ route.to_city.country.code }}
-
-
- {{ route.to_city.name }}/{{ route.to_city.country.name }} -
-
- {% if route.owner_type == 'mover' %} -
- {% trans "Прибытие:" %} -
{{ route.arrival_DT|date:'d F Y' }}
-
- {% endif %} -
-
-
-
-
-
-
-
-
-
-
-
{% trans "Забрать из:" %}
-
-
- -
{{ route.from_city.country.code }}
-
-
- {{ route.from_city.name }}/{{ route.from_city.country.name }} -
-
-
-
-
-
{{ route.get_type_transport_display }}
- {% if route.type_transport == '' %} - - - {% elif route.type_transport == 'road' %} - - {% elif route.type_transport == 'avia' %} - - {% endif %} -
-
- {% if route.owner_type == 'customer' %} -
- {% trans "Дата доставки:" %} -
{{ route.arrival_DT|date:'d F Y' }}
-
- {% else %} -
- {% trans "Отправка:" %} -
{{ route.departure_DT|date:'d F Y' }}
-
-
- {% trans "Прибытие:" %} -
{{ route.arrival_DT|date:'d F Y' }}
-
- {% endif %} -
-
-
{% trans "Доставить в:" %}
-
-
- -
{{ route.to_city.country.code }}
-
-
- {{ route.to_city.name }}/{{ route.to_city.country.name }} -
-
-
-
-
-
-
{% trans "Удалить" %}
-
-
-
{% trans "Поднять" %}
-
Осталось поднятий: {{ remains_route_rising_count }}
-
-
-
{% trans "Выделить цветом" %}
-
Осталось выделений: {{ remains_route_highlight_count }}
-
-
-
{% trans "Редактировать" %}
-
-
-
-
- -
{{ route.phone }}
-
-
-
-
{% trans "Редактировать" %}
-
-
-
-
{% trans "Поднять" %}
-
Осталось поднятий: {{ remains_route_rising_count }}
-
-
-
{% trans "Выделить цветом" %}
-
Осталось выделений: {{ remains_route_highlight_count }}
-
-
-
{% trans "Удалить" %}
-
-
\ No newline at end of file diff --git a/templates/v2/widgets/w_route_card.html b/templates/v2/widgets/w_route_card.html new file mode 100644 index 0000000..28ed12d --- /dev/null +++ b/templates/v2/widgets/w_route_card.html @@ -0,0 +1,8 @@ +{% load i18n %} +{% load static %} + +
+ {% include 'v2/content_widgets/w_route_card/route_card_info_data.html' %} + {% include 'v2/content_widgets/w_route_card/route_card_route_data.html' %} + {% include 'v2/content_widgets/w_route_card/route_card_actions_container.html' %} +
\ No newline at end of file diff --git a/templates/v2/widgets/w_route_card_for_search.html b/templates/v2/widgets/w_route_card_for_search.html new file mode 100644 index 0000000..12322ac --- /dev/null +++ b/templates/v2/widgets/w_route_card_for_search.html @@ -0,0 +1,8 @@ +{% load i18n %} +{% load static %} + +
+ {% include 'v2/content_widgets/w_route_card/route_card_info_data_for_search.html' %} + {% include 'v2/content_widgets/w_route_card/route_card_route_data.html' %} + +
\ No newline at end of file