{% set FLUID_CONTAINER = false %}
{% set isEgyptSite = get_setting('general', 'country') == 'EG' %}
{% set isKSASite = get_setting('general', 'country') == 'SA' %}
{% set isEnabledKSAnewHome = isKSASite and isEnabledFeature('web.ksa.newhome') %}
{% set isProduction = app.environment == 'prod' %}
{% set isGoogleTagManagerDisabledTest = isEnabledFeature('web.disable.tagmanager') %}
<!DOCTYPE html>
<html lang="{{ app.request.locale }}" dir="{{ 'layout.direction_code'|trans }}" ng-app="moonshot">
{% set isSearchResultsPage = app.request.attributes.get('_route') in ['search', 'property_type_search'] %}
{% set isComoundResultsPage = app.request.attributes.get('_route') in ['compound_search', 'compound_adviser_search_results'] %}
{% set isListingDetailsPage = app.request.attributes.get('_route') in ['listing_slug'] %}
{% import '@AqarmapListing/Default/macros/seoVersion.twig' as seoMacro %}
{% set isSeoVersion = seoMacro.seoVersion(app.request.requesturi) and isSearchResultsPage and not app.user %}
{% set isLongTailPage = app.request.get('lt') %}
{% set isUXVersion = not isSeoVersion %}
{% set allowTagManagerDelay = isSeoVersion or isComoundResultsPage or isListingDetailsPage %}
{% set hiddenParametersLanguageRoutes = ['search', 'property_type_search', 'listing_slug'] %}
{% set removeParametersLanguageSwitcher = app.request.attributes.get('_route') in hiddenParametersLanguageRoutes and not isLongTailPage %}
{% set adminBodyClass = is_granted("ROLE_ADMIN") ? 'is-admin' : '' %}
{% set searchResultsBodyClass = isSearchResultsPage ? 'initial-font' : '' %}
{% set aqarmap_exhibits_guide_url = aqarmap_advice_url ~ '/' ~ app.request.locale ~ '/events' %}
{% set isUserHasActiveSubscription = app.user and app.user.getAbsoluteSubscriptionExpiryDays > 0 %}
{% set appLocale = app.request.locale %}
{% set isLocalArabic = appLocale == 'ar' %}
<head>
<meta charset="{{ _charset }}" />
<title>{% block title %}{{ 'layout.brand_suffix'|trans }}{% endblock %}</title>
{% set hiddenMetaDescriptionRoutes = ['compound_search'] %}
{% if app.request.attributes.get('_route') not in hiddenMetaDescriptionRoutes or (app.request.attributes.get('_route') == 'listing_slug' and listing.section.searchable) %}
<meta name="description" content="{% spaceless %}{% if block('meta_description') is defined %}
{{ block('meta_description')|default('layout.homepage_description'|trans)|striptags|truncate(250, true, null)|replace({"\n": " ", "\r\n": " ", "\t": " ", "\n\r": " ", " ": ".."})|replace({" ": ". "})|trim('.') }}
{% else %}
{{ 'layout.homepage_description'|trans|striptags|truncate(250, true, null)|replace({"\n": " ", "\r\n": " ", "\t": " ", "\n\r": " ", " ": ".."})|replace({" ": ". "})|trim('.') }}
{% endif %}
{% endspaceless %}">
{% endif %}
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" >
<meta http-equiv="Accept-CH" content="DPR, Width, Viewport-Width">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="theme-color" content="#007dbe">
<meta name="author" content="{{ 'layout.app_name'|trans }}">
<meta name="apple-itunes-app" content="app-id=642633889">
<meta name="google-play-app" content="app-id=com.aqarmap.android">
<meta name="robots" content="noindex, follow">
{% if app_domain != app.request.getHost() %}<meta name="robots" content="noindex, nofollow">{% endif %}
{% block metatags %}{% endblock %}
<link rel="preload" as="image" href="{{ asset('images/placeholder.svg') }}">
<link rel="preload" as="image" href="{{ asset('images/logo-' ~ app.request.locale ~ '-white.svg') }}">
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
<link rel="manifest" href="{{ asset('manifest.json') }}" />
{% block htmlhead %}{% endblock %}
{% block categorizedStylesheets -%}
<link rel="stylesheet" href="{{ asset('builds/css/build'~ (app.environment == 'dev' ? '' : '.min') ~'.css') }}" />
{% endblock %}
{% block favouriteHead %}
{% endblock %}
{% set topBar = active_announcement({topBar : true}) %}
{% block headScripts %}
<script>
var app_data = {};
app_data.locale = '{{ appLocale }}';
app_data.debug = {{ (app.debug ? true : false)|serialize }};
app_data.base_url = {{ url('homepage')|serialize|raw }};
app_data.is_authenticated = {{ is_granted("IS_AUTHENTICATED_REMEMBERED")|serialize|raw }};
app_data.messaging_api_key = "{{ firebase_api_key }}";
app_data.messaging_sender_id = "{{ firebase_sender_id }}";
app_data.country = "{{ get_setting('general', 'country') | lower }}";
app_data.topBar = "{{ topBar is not null ? true : false }}";
app_data.topBarStarts = "{{ topBar is not null ? topBar.startAt : false }}";
app_data.topBarCounter = "{{ topBar is not null ? topBar.counter : false }}";
app_data.environment = "{{ app.environment }}"
app_data.currency = "{{ get_setting('general', 'currency')|trans }}"
app_data.searchSvcUrl="{{search_service_public_endpoint}}"
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"logo" : "{{ app.request.locale == 'ar' ? absolute_url(asset('images/logo-ar.svg')) : absolute_url(asset('images/EnglishLogo.png')) }}",
"url": "{{ app.request.getSchemeAndHttpHost() }}"
}
</script>
{% endblock %}
{% block env %}
{% include "env.html.twig" %}
{% endblock %}
</head>
<body class="{{ 'layout.direction_code'|trans }} {{ adminBodyClass }} {{ searchResultsBodyClass }}">
{% if isProduction and not isGoogleTagManagerDisabledTest %}
<!-- Google Tag Manager -->
<script>
var tagManagerSettings = '{{ get_setting('general', 'tag_manager') }}';
var allowTagManagerDelay = '{{allowTagManagerDelay}}'
</script>
<noscript><iframe src="//www.googletagmanager.com/ns.html?id={{ get_setting('general', 'tag_manager') }}"
height="0" width="0" style="display:none;visibility:hidden" loading="lazy"></iframe></noscript>
<script type="application/javascript" src="{{ asset('builds/js/buildTagManager'~ (app.environment == 'dev' ? '' : '.min') ~'.js') }}"></script>
<!-- End Google Tag Manager -->
{% endif %}
{% block googleDoubleclick %}
{% if isProduction and isUXVersion %}
<script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script>
window.googletag = window.googletag || {cmd: []};
googletag.cmd.push(function() {
googletag.pubads().enableSingleRequest();
googletag.pubads().collapseEmptyDivs();
googletag.pubads().setTargeting('lang', "{{ app.request.locale }}").setTargeting('url', "{{ app.request.pathInfo }}");
});
{% if get_setting('general', 'country') == 'SA' %}
googletag.cmd.push(function() {
googletag.defineSlot('/34628225/Frontpage-KSA', [[1140, 225], [728, 144]], 'div-gpt-ad-1611048992201-0').addService(googletag.pubads());
googletag.enableServices();
});
{% else %}
googletag.cmd.push(function() {
googletag.defineSlot('/34628225/half-page', [1140, 225], 'div-gpt-ad-1588539416603-0').addService(googletag.pubads());
googletag.enableServices();
});
{% endif %}
</script>
<script>
window.googletag = window.googletag || {cmd: []};
googletag.cmd.push(function() {
googletag.pubads().enableSingleRequest();
googletag.pubads().collapseEmptyDivs();
googletag.pubads().setTargeting('lang', "{{ app.request.locale }}").setTargeting('url', "{{ app.request.pathInfo }}");
});
{% if get_setting('general', 'country') == 'SA' %}
googletag.cmd.push(function() {
googletag.defineSlot('/34628225/sideadksalong', [300, 600], 'div-gpt-ad-1638434718795-0').addService(googletag.pubads());
googletag.enableServices();
});
{% else %}
googletag.cmd.push(function() {
googletag.defineSlot('/34628225/sideadlong', [300, 600], 'div-gpt-ad-1638434601381-0').addService(googletag.pubads());
googletag.enableServices();
});
{% endif %}
</script>
<script>
window.googletag = window.googletag || {cmd: []};
googletag.cmd.push(function() {
googletag.pubads().enableSingleRequest();
googletag.pubads().collapseEmptyDivs();
googletag.pubads().setTargeting('lang', "{{ app.request.locale }}").setTargeting('url', "{{ app.request.pathInfo }}");
});
{% if get_setting('general', 'country') == 'SA' %}
googletag.cmd.push(function() {
googletag.defineSlot('/34628225/feedadksa', [320, 320], 'div-gpt-ad-1611049193067-0').addService(googletag.pubads());
googletag.enableServices();
});
{% else %}
googletag.cmd.push(function() {
googletag.defineSlot('/34628225/feedad', [320, 320], 'div-gpt-ad-1588541966744-0').addService(googletag.pubads());
googletag.enableServices();
});
{% endif %}
</script>
{% endif %}
{% endblock %}
{% block searchFilters %}
{% endblock %}
{% block firebase %}
<div id="overlay-back"></div>
<div id="overlay"><div class="overlay-text">{{ 'notification_modal.info_message'|trans }} </div></div>
{% endblock %}
{% block vueBody %}
{% include "flashes.html.twig" %}
{% set vueAppName = isListingDetailsPage ? "activitiesApp" : "vueApp" %}
<div id="{{vueAppName}}"
data-feature-toggle="{{ featureToggle is defined ? featureToggle|json_encode : null }}"
data-user="{{ app.user ? app.user.id : null }}"
data-user-email="{{ app.user ? app.user.email : null }}">
{% block navigation %}
{% include "header.html.twig" %}
{% endblock %}
{% if app.request.attributes.get('_route') == 'homepage' %}
{% include "hero-searchbar.html.twig" %}
<section class="container-fluid">
<div class="row justify-content-center">
{% if isProduction %}
{% if get_setting('general', 'country') == 'SA' %}
<div id='div-gpt-ad-1611048992201-0' style='width: 1140px; height: 225px;'>
<script type="application/javascript" v-pre defer>
if (typeof googletag !== 'undefined') {
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1611048992201-0'); });
}
</script>
</div>
{% else %}
<div id='div-gpt-ad-1588539416603-0' style='width: 1140px; height: 225px;'>
<script type="application/javascript" v-pre defer>
if (typeof googletag !== 'undefined') {
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1588539416603-0'); });
}
</script>
</div>
{% endif %}
{% else %}
<div class="takeover-ad" style="text-align: center; background-color: {{ get_setting('features', 'takeover_ad_color') }};">
<img src="https://placehold.it/1140x225/DFDFDF/B6B6B6&text=AD%20BANNER%20(1140%20X%20225)" width="100%" alt="" />
</div>
{% endif %}
</div>
</section>
{% endif %}
{% block headerTop %}
{% include "adsHeader.html.twig" %}
{% endblock %}
{% block body %}
{% endblock %}
{% block modals %}
{% endblock %}
</div>
{% endblock %}
{% if app.request.attributes.get('_route') not in ['compound_adviser_search_results', 'compound_adviser', 'search', 'property_type_search', 'compound_search'] %}
<section class="problem">
<a class="gtm-btn-report problemButton hidden-xs"
href="{{ path('aqarmap_feedback_get') }}"
target="_blank" rel="nofollow">
<span class="fa fa-smile"></span>
{{ 'problem.problem_help_btn'|trans }}
</a>
</section><!-- problem Section -->
{% endif %}
{% if app.request.attributes.get('_route') not in ['listing_slug', 'compound_adviser_search_results', 'compound_adviser', 'search', 'property_type_search', 'compound_search'] %}
<div class="position-fixed mobile-problem-wrapper visible-xs">
<section class="problem mobile-problem-section">
<a class="gtm-btn-report mobile-problem-button position-relative"
href="{{ path('aqarmap_feedback_get') }}"
target="_blank" rel="nofollow">
<span class="icon fa fa-question"></span>
</a>
</section><!-- problem Section Mobile-->
</div>
{% endif %}
{% block footer %}
{% set hiddenFooterRoutes = ['listing_initialize', 'listing_edit', 'listing_upload', 'listing_confirm_publish_credit'] %}
{% if app.request.attributes.get('_route') not in hiddenFooterRoutes %}
{% include "footer.v2.html.twig" %}
{% endif %}
{% endblock %}
{% block stylesheets -%}
{% if ('layout.direction_code'|trans) == 'rtl' -%}
<link href="{{ asset('builds/css/bootstrap-rtl.min.css') }}" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;" />
{% endif -%}
{% endblock %}
{% block getTranslations %}
{% include "get-translations.html.twig" %}
{% endblock %}
<!-- Javascript categorized files -->
{% block categorizedJavascripts %}
<script src="{{ asset('builds/js/build'~ (app.environment == 'dev' ? '' : '.min') ~'.js') }}"></script>
<script defer type="application/javascript" src="{{ asset('builds/js/buildTopSellers'~ (app.environment == 'dev' ? '' : '.min') ~'.js') }}"></script>
{% if topBar is not null %}
{{ encore_entry_script_tags('countdown') }}
{% endif %}
{% endblock %}
<!-- Javascript files -->
{% block javascripts %}
<script src="{{ asset('js/translations/jstranslation/'~ app.request.locale ~'.js') }}" defer></script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
<script type="application/javascript">
// Google Tag Manager Data Layer initialization
window.dataLayer = window.dataLayer || [];
// Translator initialization
window.Translator = window.Translator || [];
</script>
{# Criteo Custom DataLayer #}
{% set criteo_custom_datalayer = {'PageType': 'TransactionPage', 'email': ' '} %}
{# Criteo DataLayer #}
{% set criteo_datalayer = {'PageType': app.request.attributes.get('_route')} %}
{% if app.request.attributes.get('_route') == 'search' or app.request.attributes.get('_route') == 'property_type_search' -%}
{% set criteo_datalayer = {'PageType': 'search'} %}
{% endif %}
{% set criteo_datalayer = criteo_datalayer|merge({'email': ' '}) %}
{% if app.request.attributes.get('_route') == 'listing_slug' %}
{% set criteo_datalayer = {'PageType': 'ListingPage', 'email': ' '} %}
{% set criteo_custom_datalayer = criteo_custom_datalayer|merge({'ProductTransactionProducts': [{ 'id': listing.id , 'price': '0.01' , 'quantity': '1' }]}) %}
{% set criteo_datalayer = criteo_datalayer|merge({'ListingID': listing.id}) %}
<script>
$(document).ready(function () {
dataLayer.push({{ criteo_custom_datalayer|json_encode|raw }});
});
</script>
{% if listing.liveChildren is not empty %}
{% set criteo_datalayer = criteo_datalayer|merge({'unitsIDs': listing.liveChildrenIDs}) %}
{% endif -%}
{% endif %}
{% if app.request.attributes.get('_route') == 'search' or app.request.attributes.get('_route') == 'property_type_search' -%}
{% set criteo_datalayer = criteo_datalayer|merge({'ListingIDList': resultsIDs|slice(1, 3)}) %}
{% endif %}
<script>
$(document).ready(function () {
dataLayer.push({{ criteo_datalayer|json_encode|raw }});
});
</script>
{% endblock %}
{% block fos %}
{% if app.debug %}
<script src="{{ path('fos_js_routing_js', {"callback": "fos.Router.setData"}) }}"></script>
{% else %}
<script src="{{ asset('js/fos_js_routes.js') }}"></script>
<script>
Routing.setPrefix("{{ app.request.locale }}__RG__");
</script>
{% endif %}
{% endblock %}
{% block extraScripts %}
{% if app.request.attributes.get('_route') == 'homepage' %}
<script type="application/javascript" src="{{ asset('js/priceFilters.js') }}"></script>
{% endif %}
{% endblock extraScripts %}
{% block wootricScript %}
{% if isUXVersion %}
<!-- begin Wootric code -->
<script>
window.wootric = function(){};
</script>
<script type="text/javascript" src="https://cdn.wootric.com/wootric-sdk.js"></script>
{% if app.user %}
<script id="wootricScript" type="application/javascript" src="{{ asset('builds/js/buildWootric'~ (app.environment == 'dev' ? '' : '.min') ~'.js') }}"></script>
{% else %}
<script type="text/javascript">
//window.wootric_survey_immediately = true; // Shows survey immediately for testing purposes. TODO: Comment out for production.
window.wootricSettings = {
account_token: 'NPS-8fa9e73b'
};
window.wootric("run");
</script>
{% endif %}
{% else %}
<script>
$(document).ready(function () {
{% if app.user %}
dataLayer.push({
'userEmail': '{{ app.user.email }}',
'userCreatedAt': '{{ app.user.createdAt|date('U') }}',
});
{% endif %}
});
</script>
{% endif %}
{% endblock %}
{% block facebookLogin %}
{% endblock %}
{% block googleLogin %}
{% include "googleLogin.html.twig" %}
{% endblock googleLogin %}
</body>
</html>