Commit 3682ee3f authored by Simonas's avatar Simonas

in progress

parent a748103d
Home page:
- Search doesn't close on /\ on touch (mobile)
- job table width 100% to critical CSS
Position page:
- SEO dalis
- Contacts CSS (for multi lines)
Darbo pasiulymai:
- Accessibility dalis
- a.next.page-numbers beda
- .c-jobs--col-valid green color to: #148672
- button.o-btn.c-btn--main.c-btn--search-small
Performance:
- Contact pages
- Get job offers pages
- Variable fonts usage
- PHP 7.4 version
Code refactor:
- remove warnings
- check webp
Ideas:
- JS validation for forms
- Loader for Search form
...@@ -2,8 +2,8 @@ PROJECT=dev-biuro ...@@ -2,8 +2,8 @@ PROJECT=dev-biuro
IMAGE_NGINX=fholzer/nginx-brotli IMAGE_NGINX=fholzer/nginx-brotli
IMAGE_MYSQL=mariadb:10.3 IMAGE_MYSQL=mariadb:10.3
IMAGE_WORDPRESS=wordpress:php7.3-fpm IMAGE_WORDPRESS=wordpress:php7.4-fpm
IMAGE_WORDPRESS_CLI=wordpress:cli-php7.3 IMAGE_WORDPRESS_CLI=wordpress:cli-php7.4
DB_NAME=dev_biuro DB_NAME=dev_biuro
DB_HOST=mysql DB_HOST=mysql
......
FROM php:7.3-fpm FROM php:7.4-fpm
# install the PHP extensions we need # persistent dependencies
RUN set -ex; \ RUN set -eux; \
\
savedAptMark="$(apt-mark showmanual)"; \
\
apt-get update; \ apt-get update; \
apt-get install -y --no-install-recommends \ apt-get install -y --no-install-recommends \
libjpeg-dev \ # Ghostscript is required for rendering PDF previews
libpng-dev \ ghostscript \
libzip-dev \
; \ ; \
\
docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
docker-php-ext-install gd mysqli opcache zip; \
\
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# set recommended PHP.ini settings # install the PHP extensions we need (https://make.wordpress.org/hosting/handbook/handbook/server-environment/#php-extensions)
# see https://secure.php.net/manual/en/opcache.installation.php
RUN { \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=4000'; \
echo 'opcache.revalidate_freq=2'; \
echo 'opcache.fast_shutdown=1'; \
echo 'opcache.enable_cli=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini
VOLUME /var/www/html
ENV WORDPRESS_VERSION 5.0.3
ENV WORDPRESS_SHA1 f9a4b482288b5be7a71e9f3dc9b5b0c1f881102b
RUN set -ex; \
curl -o wordpress.tar.gz -fSL "https://wordpress.org/wordpress-${WORDPRESS_VERSION}.tar.gz"; \
echo "$WORDPRESS_SHA1 *wordpress.tar.gz" | sha1sum -c -; \
# upstream tarballs include ./wordpress/ so this gives us /usr/src/wordpress
tar -xzf wordpress.tar.gz -C /usr/src/; \
rm wordpress.tar.gz; \
chown -R www-data:www-data /usr/src/wordpress
COPY docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]
FROM php:7.3-fpm
# install the PHP extensions we need
RUN set -ex; \ RUN set -ex; \
\ \
savedAptMark="$(apt-mark showmanual)"; \ savedAptMark="$(apt-mark showmanual)"; \
\ \
apt-get update; \ apt-get update; \
apt-get install -y --no-install-recommends \ apt-get install -y --no-install-recommends \
libfreetype6-dev \
libjpeg-dev \ libjpeg-dev \
libmagickwand-dev \
libpng-dev \ libpng-dev \
libzip-dev \ libzip-dev \
; \ ; \
\ \
docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \ docker-php-ext-configure gd --with-freetype --with-jpeg; \
docker-php-ext-install gd mysqli opcache zip; \ docker-php-ext-install -j "$(nproc)" \
bcmath \
exif \
gd \
mysqli \
opcache \
zip \
; \
pecl install imagick-3.4.4; \
docker-php-ext-enable imagick; \
\ \
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \ apt-mark auto '.*' > /dev/null; \
...@@ -95,13 +57,26 @@ RUN { \ ...@@ -95,13 +57,26 @@ RUN { \
echo 'opcache.max_accelerated_files=4000'; \ echo 'opcache.max_accelerated_files=4000'; \
echo 'opcache.revalidate_freq=2'; \ echo 'opcache.revalidate_freq=2'; \
echo 'opcache.fast_shutdown=1'; \ echo 'opcache.fast_shutdown=1'; \
echo 'opcache.enable_cli=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini } > /usr/local/etc/php/conf.d/opcache-recommended.ini
# https://wordpress.org/support/article/editing-wp-config-php/#configure-error-logging
RUN { \
# https://www.php.net/manual/en/errorfunc.constants.php
# https://github.com/docker-library/wordpress/issues/420#issuecomment-517839670
echo 'error_reporting = E_ERROR | E_WARNING | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_RECOVERABLE_ERROR'; \
echo 'display_errors = Off'; \
echo 'display_startup_errors = Off'; \
echo 'log_errors = On'; \
echo 'error_log = /dev/stderr'; \
echo 'log_errors_max_len = 1024'; \
echo 'ignore_repeated_errors = On'; \
echo 'ignore_repeated_source = Off'; \
echo 'html_errors = Off'; \
} > /usr/local/etc/php/conf.d/error-logging.ini
VOLUME /var/www/html VOLUME /var/www/html
ENV WORDPRESS_VERSION 5.0.3 ENV WORDPRESS_VERSION 5.3.2
ENV WORDPRESS_SHA1 f9a4b482288b5be7a71e9f3dc9b5b0c1f881102b ENV WORDPRESS_SHA1 fded476f112dbab14e3b5acddd2bcfa550e7b01b
RUN set -ex; \ RUN set -ex; \
curl -o wordpress.tar.gz -fSL "https://wordpress.org/wordpress-${WORDPRESS_VERSION}.tar.gz"; \ curl -o wordpress.tar.gz -fSL "https://wordpress.org/wordpress-${WORDPRESS_VERSION}.tar.gz"; \
......
...@@ -295,139 +295,3 @@ fi ...@@ -295,139 +295,3 @@ fi
chown -R $WEB_USER:$WEB_USER $ROOT_DIR/wp-content/uploads chown -R $WEB_USER:$WEB_USER $ROOT_DIR/wp-content/uploads
exec "$@" exec "$@"
#####
#####
#####
##### #!/usr/bin/env bash
#####
##### set -ex
#####
##### ROOT_DIR=/var/www/html
##### WEB_USER=www-data
#####
##### # Copy WordPress core.
##### if ! [ -e wp-includes/version.php ]; then
##### tar cf - --one-file-system -C /usr/src/wordpress . | tar xf - --owner="$(id -u $WEB_USER)" --group="$(id -g $WEB_USER)"
##### echo "WordPress has been successfully copied to $(pwd)"
##### fi
#####
##### # Seed wp-content directory if requested.
##### if [ -d /tmp/wordpress/init-wp-content ]; then
##### tar cf - --one-file-system -C /tmp/wordpress/init-wp-content . | tar xf - -C ./wp-content --owner="$(id -u $WEB_USER)" --group="$(id -g $WEB_USER)"
##### echo "Seeded wp-content directory from /tmp/wordpress/init-wp-content."
##### fi
#####
##### # Install certs if requested.
##### #####if [ -d /tmp/certs ]; then
##### ##### mkdir -p /usr/share/ca-certificates/local
##### #####
##### ##### for cert in /tmp/certs/*.crt; do
##### ##### cp "$cert" "/usr/share/ca-certificates/local/$(basename "$cert")"
##### ##### echo "local/$(basename "$cert")" >> /etc/ca-certificates.conf
##### ##### done
##### #####
##### ##### update-ca-certificates --fresh
##### ##### echo "Added certs from /tmp/certs."
##### #####fi
#####
##### # Update WP-CLI config with current virtual host.
##### #####sed -i -E "s#^url: .*#url: ${WORDPRESS_SITE_URL:-http://project.dev}#" /etc/wp-cli/config.yml
#####
##### # Create WordPress config.
##### #####if ! [ -f $ROOT_DIR/wp-config.php ]; then
##### ##### runuser $WEB_USER -s /bin/sh -c "\
##### ##### wp config create \
##### ##### --dbhost=\"${WORDPRESS_DB_HOST:-mysql}\" \
##### ##### --dbname=\"${WORDPRESS_DB_NAME:-wordpress}\" \
##### ##### --dbuser=\"${WORDPRESS_DB_USER:-root}\" \
##### ##### --dbpass=\"$WORDPRESS_DB_PASSWORD\" \
##### ##### --skip-check \
##### ##### --extra-php <<PHP
##### ##########$WORDPRESS_CONFIG_EXTRA
##### #####PHP"
##### #####fi
##### if ! [ -f $ROOT_DIR/wp-config.php ]; then
##### runuser $WEB_USER -s /bin/sh -c "\
##### wp config create \
##### --dbhost=\"${WORDPRESS_DB_HOST:-mysql}\" \
##### --dbname=\"${WORDPRESS_DB_NAME:-wordpress}\" \
##### --dbuser=\"${WORDPRESS_DB_USER:-root}\" \
##### --dbpass=\"$WORDPRESS_DB_PASSWORD\" \
##### --skip-check \
##### "
##### fi
#####
#####
##### # Make sure uploads directory exists and is writeable.
##### mkdir -p $ROOT_DIR/wp-content/uploads
##### chown $WEB_USER:$WEB_USER $ROOT_DIR/wp-content
##### chown -R $WEB_USER:$WEB_USER $ROOT_DIR/wp-content/uploads
#####
##### # MySQL may not be ready when container starts.
##### #####set +ex
##### #####while true; do
##### ##### if curl --fail --show-error --silent "${WORDPRESS_DB_HOST:-mysql}:3306" > /dev/null 2>&1; then break; fi
##### ##### echo "Waiting for MySQL to be ready...."
##### ##### sleep 3
##### #####done
##### #####set -ex
#####
##### # Install WordPress.
##### runuser $WEB_USER -s /bin/sh -c "\
##### wp core $([ "$WORDPRESS_INSTALL_TYPE" == "multisite" ] && echo "multisite-install" || echo "install") \
##### --title=\"${WORDPRESS_SITE_TITLE:-Project}\" \
##### --admin_user=\"${WORDPRESS_SITE_USER:-wordpress}\" \
##### --admin_password=\"${WORDPRESS_SITE_PASSWORD:-wordpress}\" \
##### --admin_email=\"${WORDPRESS_SITE_EMAIL:-admin@example.com}\" \
##### --url=\"${WORDPRESS_SITE_URL:-http://project.dev}\" \
##### --skip-email"
#####
##### # Update rewrite structure.
##### #####runuser $WEB_USER -s /bin/sh -c "\
##### #####wp option update permalink_structure \"${WORDPRESS_PERMALINK_STRUCTURE:-/%year%/%monthnum%/%postname%/}\" \
##### ##### --skip-themes \
##### ##### --skip-plugins"
#####
##### CONTENT_DIR=$ROOT_DIR/wp-content
##### THEME_DIR=$CONTENT_DIR/themes
##### PLUGIN_DIR=$CONTENT_DIR/plugins
#####
##### cp -r /temp/themes/* $THEME_DIR || true
##### cp -r /temp/plugins/* $PLUGIN_DIR || true
##### cp -r /temp/base/* $CONTENT_DIR || true
#####
##### chown -R $WEB_USER:$WEB_USER $ROOT_DIR/wp-content/uploads
#####
##### # Activate plugins. Install if it cannot be found locally.
##### if [ -n "$WORDPRESS_ACTIVATE_PLUGINS" ]; then
##### for plugin in $WORDPRESS_ACTIVATE_PLUGINS; do
##### if ! [ -d "$ROOT_DIR/wp-content/plugins/$plugin" ]; then
##### runuser $WEB_USER -s /bin/sh -c "wp plugin install \"$plugin\""
##### fi
##### done
#####
##### # shellcheck disable=SC2086
##### runuser $WEB_USER -s /bin/sh -c "wp plugin activate $WORDPRESS_ACTIVATE_PLUGINS"
##### fi
#####
##### # Activate theme. Install if it cannot be found locally.
##### if [ -n "$WORDPRESS_ACTIVATE_THEME" ]; then
##### if ! [ -d "$ROOT_DIR/wp-content/themes/$WORDPRESS_ACTIVATE_THEME" ]; then
##### runuser $WEB_USER -s /bin/sh -c "wp theme install \"$WORDPRESS_ACTIVATE_THEME\""
##### fi
#####
##### runuser $WEB_USER -s /bin/sh -c "wp theme activate \"$WORDPRESS_ACTIVATE_THEME\""
##### fi
#####
##### #####runuser $WEB_USER -s /bin/sh -c "wp db import $CONTENT_DIR/wordpress.sql"
#####
##### exec "$@"
/* ------------- Elements: table ------------- */ /* ------------- Elements: table ------------- */
table { border-collapse: collapse; border-spacing: 0; } /* critical:start */
table {
border-collapse: collapse;
border-spacing: 0;
}
/* critical:end */
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
@media (--min--medium) { @media (--min--medium) {
padding: 0 30px 0 70px; padding: 0 30px 0 70px;
} }
li + li { margin-top: 10px; }
} }
.c-accordion--content--is-collapsed { height: 0; } .c-accordion--content--is-collapsed { height: 0; }
...@@ -9,13 +9,13 @@ ...@@ -9,13 +9,13 @@
.c-ico--area { position: absolute; top: 50%; left: 14px; transform: translateY(-50%); margin-top: -1px; } .c-ico--area { position: absolute; top: 50%; left: 14px; transform: translateY(-50%); margin-top: -1px; }
.c-ico--phone { float: left; margin: 3px 10px 0 1px; } .c-ico--phone { float: left; margin: -2px 10px 0 -29px; }
.c-ico--phone-recommend { float: left; margin: 0 15px 0 0; } .c-ico--phone-recommend { float: left; margin: 0 15px 0 0; }
.c-ico--email { float: left; margin: 6px 10px 0 0; } .c-ico--email { float: left; margin: 2px 10px 0 -30px; }
.c-ico--address { float: left; margin: 3px 12px 0 3px; } .c-ico--address { float: left; margin: 0px 12px 0 -27px; }
.c-ico--filter { float: left; margin: 3px 8px 0 3px; .c-ico--filter { float: left; margin: 3px 8px 0 3px;
@media (--min--xx-small) { @media (--min--xx-small) {
......
...@@ -34,19 +34,30 @@ ...@@ -34,19 +34,30 @@
.c-job--action-aside {} .c-job--action-aside {}
.c-job-contacts { margin: 0 0 30px; .c-job-contacts {
margin: 0 0 30px;
@media (--max--medium) { @media (--max--medium) {
margin: 0 10px 30px; margin: 0 10px 30px;
} }
ul { margin: 0; padding: 0; list-style: none; } ul {
li { line-height: 28px; margin: 0;
@media (--max--medium) { padding: 0;
padding: 7px 0; list-style: none;
} }
li {
padding: 7px 0 7px 30px;
line-height: 20px;
} }
a { overflow: hidden; text-decoration: none; a {
&:hover { text-decoration: underline; } overflow: hidden;
text-decoration: none;
&:hover {
text-decoration: underline;
}
} }
} }
......
...@@ -2,16 +2,24 @@ ...@@ -2,16 +2,24 @@
/* critical:start */ /* critical:start */
.c-jobs { } .c-jobs { }
.c-jobs--inner { @extend .l-inner-small; } .c-jobs--inner {
@extend .l-inner-small;
}
.c-jobs--inner-custom { max-width: 990px; margin-right: auto; margin-left: auto; padding-right: 10px; padding-left: 10px; } .c-jobs--inner-custom { max-width: 990px; margin-right: auto; margin-left: auto; padding-right: 10px; padding-left: 10px; }
.c-jobs--table { margin: 0 0 20px; padding: 0; } .c-jobs--table {
width: 100%;
margin: 0 0 20px;
padding: 0;
}
.c-jobs--headline {
margin: 0 0 25px;
padding: 20px 20px 0;
.c-jobs--headline {margin: 0 0 25px; padding: 20px 20px 0;
@media (--max--medium) { @media (--max--medium) {
text-align: center; text-align: center;
} }
...@@ -19,29 +27,47 @@ ...@@ -19,29 +27,47 @@
/* critical:end */ /* critical:end */
.c-jobs--headline { min-height: 29px; margin: 0 0 25px; padding: 20px 20px 0; color: #2A3644; font-size: 25px; font-weight: 500; line-height: 29px; .c-jobs--headline {
min-height: 29px;
color: #2a3644;
font-size: 25px;
font-weight: 500;
line-height: 29px;
@media (--max--medium) { @media (--max--medium) {
min-height: 26px; font-size: 18px; font-weight: 500; line-height: 26px; text-align: center; min-height: 26px;
font-size: 18px;
font-weight: 500;
line-height: 26px;
text-align: center;
} }
} }
.c-jobs--table { width: 100%; margin: 0 0 20px; .c-jobs--table {
tr { tr {
&:hover { &:hover {
td { background: #F8FBFF; } td { background: #f8fbff; }
} }
} }
} }
/* critical:start */ /* critical:start */
.c-jobs--col { background: #fff; vertical-align: middle; color: #6f7479; padding: 10px 15px;
.c-jobs--col {
background: #fff;
vertical-align: middle;
color: #6f7479;
padding: 10px 15px;
@media (--max--medium) { @media (--max--medium) {
float: left; float: left;
} }
@media (--min--medium) { @media (--min--medium) {
border-bottom: 1px solid var(--color--gray-light); border-bottom: 1px solid var(--color--gray-light);
} }
} }
.c-jobs--col-position { .c-jobs--col-position {
@media (--max--medium) { @media (--max--medium) {
width: 100%; width: 100%;
...@@ -50,7 +76,8 @@ ...@@ -50,7 +76,8 @@
.c-jobs--col-description { .c-jobs--col-description {
@media (--max--medium) { @media (--max--medium) {
width: 100%; padding-top: 0; width: 100%;
padding-top: 0;
} }
} }
...@@ -61,7 +88,6 @@ ...@@ -61,7 +88,6 @@
} }
} }
/* critical:end */ /* critical:end */
.c-jobs--col-position { .c-jobs--col-position {
...@@ -70,12 +96,21 @@ ...@@ -70,12 +96,21 @@
} }
} }
.c-jobs--col-city { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; .c-jobs--col-city {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@media (--max--medium) { @media (--max--medium) {
border-bottom: 1px solid var(--color--gray-light); font-size: 13px; padding-top: 0; border-bottom: 1px solid var(--color--gray-light);
font-size: 13px;
padding-top: 0;
} }
@media (--min--medium) { @media (--min--medium) {
max-width: 140px; padding-right: 5px; padding-left: 5px; max-width: 140px;
padding-right: 5px;
padding-left: 5px;
} }
} }
...@@ -92,36 +127,56 @@ ...@@ -92,36 +127,56 @@
/* critical:start */ /* critical:start */
.c-jobs--anchor { display: block; padding: 4px 0; color: #004ED4; font-weight: 500; line-height: 18px; text-decoration: none; } .c-jobs--anchor {
display: block;
color: #004ed4;
font-weight: 500;
line-height: 18px;
text-decoration: none;
.c-jobs--anchor-alt { display: block; padding: 4px 0; color: #2A3644; line-height: 18px; text-decoration: none; } @media (--min--medium) {
display: flex;
min-height: 38px;
align-items: center;
}
}
.c-jobs--anchor-alt {
display: block;
color: #2a3644;
line-height: 18px;
text-decoration: none;
}
/* critical:end */ /* critical:end */
.c-jobs--anchor { .c-jobs--anchor {
@media (--max--medium) { @media (--max--medium) {
font-size: 16px; line-height: 23px; padding: 4px 0;
} font-size: 16px;
@media (--min--medium) { line-height: 23px;
padding: 10px 0;
} }
&:hover { text-decoration: underline; } &:hover { text-decoration: underline; }
&:visited { color: #551B89; } &:visited { color: #551b89; }
} }
.c-jobs--anchor-alt { .c-jobs--anchor-alt {
&:hover { text-decoration: underline; } &:hover {
text-decoration: underline;
}
} }
/* critical:start */ /* critical:start */
.c-jobs--more { margin-bottom: 50px; .c-jobs--more {
margin-bottom: 50px;
@media (--min--medium) { @media (--min--medium) {
margin-bottom: 70px; margin-bottom: 70px;
} }
} }
/* critical:end */ /* critical:end */
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -154,7 +154,7 @@ ...@@ -154,7 +154,7 @@
?> ?>
<script src="/wp-content/themes/biuro/js/main-40a0e7ff.min.js" async defer></script> <script src="/wp-content/themes/biuro/js/main.min.js" async defer></script>
<script src="/wp-content/themes/biuro/js/vendor/modernizr-custom.js" async defer></script> <script src="/wp-content/themes/biuro/js/vendor/modernizr-custom.js" async defer></script>
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-500.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-500.woff2" crossorigin="anonymous" >
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-regular.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-regular.woff2" crossorigin="anonymous" >
<style><?php include 'css/core-d506648a18.min.css'; ?></style> <style><?php include 'css/core.min.css'; ?></style>
<script> <script>
document.documentElement.classList.replace('no-js', 'js'); document.documentElement.classList.replace('no-js', 'js');
...@@ -36,13 +36,13 @@ ...@@ -36,13 +36,13 @@
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-300.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-300.woff2" crossorigin="anonymous" >
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-700.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-700.woff2" crossorigin="anonymous" >
<link rel="preload" href="/wp-content/themes/biuro/css/main-15517d2ff4.min.css" as="style" onload="this.rel='stylesheet'"> <link rel="preload" href="/wp-content/themes/biuro/css/main.min.css" as="style" onload="this.rel='stylesheet'">
<link rel="preconnect" href="https://www.gstatic.com"> <link rel="preconnect" href="https://www.gstatic.com">
<link rel="preconnect" href="https://fonts.gstatic.com"> <link rel="preconnect" href="https://fonts.gstatic.com">
<noscript> <noscript>
<link rel="stylesheet" href="/wp-content/themes/biuro/css/main-15517d2ff4.min.css"> <link rel="stylesheet" href="/wp-content/themes/biuro/css/main.min.css">
</noscript> </noscript>
<?php wp_head(); ?> <?php wp_head(); ?>
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-500.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-500.woff2" crossorigin="anonymous" >
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-regular.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-regular.woff2" crossorigin="anonymous" >
<style><?php include 'css/core-d506648a18.min.css'; ?></style> <style><?php include 'css/core.min.css'; ?></style>
<script> <script>
document.documentElement.classList.replace('no-js', 'js'); document.documentElement.classList.replace('no-js', 'js');
...@@ -36,13 +36,13 @@ ...@@ -36,13 +36,13 @@
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-300.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-300.woff2" crossorigin="anonymous" >
<link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-700.woff2" crossorigin="anonymous" > <link rel="preload" as="font" type="font/woff2" href="/wp-content/themes/biuro/fonts/roboto-v19-cyrillic_latin_cyrillic-ext_latin-ext-700.woff2" crossorigin="anonymous" >
<link rel="preload" href="/wp-content/themes/biuro/css/main-15517d2ff4.min.css" as="style" onload="this.rel='stylesheet'"> <link rel="preload" href="/wp-content/themes/biuro/css/main.min.css" as="style" onload="this.rel='stylesheet'">
<link rel="preconnect" href="https://www.gstatic.com"> <link rel="preconnect" href="https://www.gstatic.com">
<link rel="preconnect" href="https://fonts.gstatic.com"> <link rel="preconnect" href="https://fonts.gstatic.com">
<noscript> <noscript>
<link rel="stylesheet" href="/wp-content/themes/biuro/css/main-15517d2ff4.min.css"> <link rel="stylesheet" href="/wp-content/themes/biuro/css/main.min.css">
</noscript> </noscript>
<?php wp_head(); ?> <?php wp_head(); ?>
......
(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{7:function(e,t,n){"use strict";n.r(t);const o=e=>{if(!e)return;const t=e.parentNode.nextElementSibling;if(!t||!t.classList.contains("c-accordion--content"))return;const n=e.classList.contains("c-accordion--header--is-expanded");n?(e=>{const t=e.scrollHeight,n=e.style.transition;e.style.transition="",requestAnimationFrame(()=>{e.style.height=t+"px",e.style.transition=n,requestAnimationFrame(()=>{e.style.height="0px"})})})(t):(history.pushState({},"",e.hash),requestAnimationFrame(()=>{(e=>{const t=e.offsetTop-(Math.max(document.documentElement.clientWidth,window.innerWidth||0)<960?72:117);window.scrollTo({top:t,behavior:"smooth"}),e.blur()})(e),requestAnimationFrame(()=>{(e=>{const t=e.scrollHeight,n=t=>{e.removeEventListener("transitionend",n)};e.style.height=t+"px",e.addEventListener("transitionend",n)})(t)})})),e.classList.toggle("c-accordion--header--is-expanded",!n)};t.default=()=>{document.querySelectorAll(".c-accordion--content").forEach(e=>{e.classList.add("c-accordion--content--is-collapsed")}),window.location.hash&&o(document.querySelector(window.location.hash)),document.querySelectorAll(".js-accordion--header").forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),o(e)})})}}}]);
\ No newline at end of file
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["accordion"],{
/***/ "./wp-content/themes/biuro/js/components/accordion/accordion.js":
/*!**********************************************************************!*\
!*** ./wp-content/themes/biuro/js/components/accordion/accordion.js ***!
\**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nconst collapseContent = n => {\n const h = n.scrollHeight;\n const t = n.style.transition;\n n.style.transition = '';\n requestAnimationFrame(() => {\n n.style.height = h + 'px';\n n.style.transition = t;\n requestAnimationFrame(() => {\n n.style.height = 0 + 'px';\n });\n });\n};\n\nconst expandContent = n => {\n const h = n.scrollHeight;\n\n const done = e => {\n n.removeEventListener('transitionend', done);\n };\n\n n.style.height = h + 'px';\n n.addEventListener('transitionend', done);\n};\n\nconst scrollToSection = header => {\n const top = header.offsetTop - (Math.max(document.documentElement.clientWidth, window.innerWidth || 0) < 960 ? 72 : 117);\n window.scrollTo({\n top: top,\n behavior: 'smooth'\n });\n header.blur();\n};\n\nconst toggleSection = header => {\n if (!header) {\n return;\n }\n\n const node = header.parentNode.nextElementSibling;\n\n if (!node || !node.classList.contains('c-accordion--content')) {\n return;\n }\n\n const isOpen = header.classList.contains('c-accordion--header--is-expanded');\n\n if (isOpen) {\n collapseContent(node);\n } else {\n history.pushState({}, '', header.hash);\n requestAnimationFrame(() => {\n scrollToSection(header);\n requestAnimationFrame(() => {\n expandContent(node);\n });\n });\n }\n\n header.classList.toggle('c-accordion--header--is-expanded', !isOpen);\n};\n\nconst inititateAccordion = () => {\n document.querySelectorAll('.c-accordion--content').forEach(content => {\n content.classList.add('c-accordion--content--is-collapsed');\n });\n\n if (window.location.hash) {\n toggleSection(document.querySelector(window.location.hash));\n }\n\n document.querySelectorAll('.js-accordion--header').forEach(header => {\n header.addEventListener('click', e => {\n e.preventDefault();\n toggleSection(header);\n });\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (inititateAccordion);\n\n//# sourceURL=webpack:///./wp-content/themes/biuro/js/components/accordion/accordion.js?");
/***/ })
}]);
\ No newline at end of file
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{11:function(e,o,t){"use strict";t.r(o);var n=t(0);let c=!0;function a(){const e=document.querySelector("#copy-tooltip");e&&(e.style.opacity=1,setTimeout(()=>{e.style.opacity=0},3e3))}function i(e){if(!navigator.clipboard)return function(e){var o=document.createElement("textarea");o.className="u-hidden",o.value=e,document.querySelector(".c-share").appendChild(o),o.focus(),o.select();try{var t=document.execCommand("copy")?"successful":"unsuccessful";console.log("Fallback: Copying text command was "+t)}catch(e){console.error("Fallback: Oops, unable to copy",e)}document.body.removeChild(o)}(e),void a();navigator.clipboard.writeText(e).then(function(){a()},function(e){console.error("Async: Could not copy text: ",e)})}window.onfocus=function(){c=!0},window.onblur=function(){c=!1};o.default=()=>{document.querySelector(".js-copy-to-clipboard")&&document.querySelector(".js-copy-to-clipboard").addEventListener("click",e=>{e.preventDefault(),i(window.location.origin+window.location.pathname+"?utm_source=copy_share_button_job_page ")});const e=document.querySelector(".js-share-messenger");e&&e.addEventListener("click",e=>{e.preventDefault();const o=e.currentTarget;window.location.href="fb-messenger://share/?link="+encodeURIComponent(window.location.origin+window.location.pathname+"?utm_source=messenger_share_button_job_page&app_id="+o.dataset.id),setTimeout(()=>{!document.hidden&&c&&(window.location.href=o.href)},100)});const o=document.querySelector(".js-share-whatsapp");o&&o.addEventListener("click",e=>{e.preventDefault();const o=e.currentTarget;window.location.href="whatsapp://send?text="+o.dataset.text,setTimeout(()=>{!document.hidden&&c&&window.open(o.href,"_blank")},100)});const t=document.querySelector(".js-biuro-facebook");t&&setTimeout(()=>{!async function(e){Object(n.a)("https://connect.facebook.net/en_US/sdk.js").then(()=>{window.FB&&window.FB.init({appId:e,version:"v3.3",status:!0,xfbml:!0})})}(t.dataset.id)},1500)}}}]);
\ No newline at end of file
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["job-share"],{
/***/ "./wp-content/themes/biuro/js/components/job-share/job-share.js":
/*!**********************************************************************!*\
!*** ./wp-content/themes/biuro/js/components/job-share/job-share.js ***!
\**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_load_js_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/load-js.js */ \"./wp-content/themes/biuro/js/utils/load-js.js\");\n\n\nasync function inititateFacebook(ID) {\n Object(_utils_load_js_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('https://connect.facebook.net/en_US/sdk.js').then(() => {\n if (!window.FB) {\n return;\n }\n\n window.FB.init({\n appId: ID,\n version: 'v3.3',\n status: true,\n xfbml: true\n });\n });\n}\n\nlet isPageActive = true;\n\nwindow.onfocus = function () {\n isPageActive = true;\n};\n\nwindow.onblur = function () {\n isPageActive = false;\n};\n\nfunction fallbackCopyTextToClipboard(text) {\n var textArea = document.createElement('textarea');\n textArea.className = 'u-hidden';\n textArea.value = text;\n document.querySelector('.c-share').appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n try {\n var successful = document.execCommand('copy');\n var msg = successful ? 'successful' : 'unsuccessful';\n console.log('Fallback: Copying text command was ' + msg);\n } catch (err) {\n console.error('Fallback: Oops, unable to copy', err);\n }\n\n document.body.removeChild(textArea);\n}\n\nfunction showCopyTooltip() {\n const tooltip = document.querySelector('#copy-tooltip');\n\n if (tooltip) {\n tooltip.style.opacity = 1;\n setTimeout(() => {\n tooltip.style.opacity = 0;\n }, 3000);\n }\n}\n\nfunction copyTextToClipboard(text) {\n if (!navigator.clipboard) {\n fallbackCopyTextToClipboard(text);\n showCopyTooltip();\n return;\n }\n\n navigator.clipboard.writeText(text).then(function () {\n showCopyTooltip();\n }, function (err) {\n console.error('Async: Could not copy text: ', err);\n });\n}\n\nconst inititateJobShare = () => {\n if (document.querySelector('.js-copy-to-clipboard')) {\n document.querySelector('.js-copy-to-clipboard').addEventListener('click', e => {\n e.preventDefault();\n copyTextToClipboard(window.location.origin + window.location.pathname + '?utm_source=copy_share_button_job_page ');\n });\n }\n\n const messenger = document.querySelector('.js-share-messenger');\n\n if (messenger) {\n messenger.addEventListener('click', e => {\n e.preventDefault();\n const target = e.currentTarget;\n window.location.href = 'fb-messenger://share/?link=' + encodeURIComponent(window.location.origin + window.location.pathname + '?utm_source=messenger_share_button_job_page&app_id=' + target.dataset.id);\n setTimeout(() => {\n if (document.hidden || !isPageActive) {\n return;\n }\n\n window.location.href = target.href;\n }, 100);\n });\n }\n\n const whatsapp = document.querySelector('.js-share-whatsapp');\n\n if (whatsapp) {\n whatsapp.addEventListener('click', e => {\n e.preventDefault();\n const target = e.currentTarget;\n window.location.href = 'whatsapp://send?text=' + target.dataset.text;\n setTimeout(() => {\n if (document.hidden || !isPageActive) {\n return;\n }\n\n window.open(target.href, '_blank');\n }, 100);\n });\n }\n\n const facebook = document.querySelector('.js-biuro-facebook');\n\n if (facebook) {\n setTimeout(() => {\n inititateFacebook(facebook.dataset.id);\n }, 1500);\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (inititateJobShare);\n\n//# sourceURL=webpack:///./wp-content/themes/biuro/js/components/job-share/job-share.js?");
/***/ })
}]);
\ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{10:function(e,t,n){"use strict";var o;function i(e,t){const n=function(){function e(e,t,n="top"){this.position=e;var o=document.createElement("div");o.innerHTML=t||"",o.classList.add("popup-bubble"),o.classList.add("popup-bubble--"+n);var i=document.createElement("div");i.classList.add("popup-bubble-anchor"),i.appendChild(o),this.containerDiv=document.createElement("div"),this.containerDiv.classList.add("popup-container"),this.containerDiv.appendChild(i),window.google.maps.OverlayView.preventMapHitsAndGesturesFrom(this.containerDiv)}return e.prototype=Object.create(window.google.maps.OverlayView.prototype),e.prototype.onAdd=function(){this.getPanes().floatPane.appendChild(this.containerDiv)},e.prototype.onRemove=function(){this.containerDiv.parentElement&&this.containerDiv.parentElement.removeChild(this.containerDiv)},e.prototype.draw=function(){var e=this.getProjection().fromLatLngToDivPixel(this.position),t=Math.abs(e.x)<4e3&&Math.abs(e.y)<4e3?"block":"none";"block"===t&&(this.containerDiv.style.left=e.x+"px",this.containerDiv.style.top=e.y+"px"),this.containerDiv.style.display!==t&&(this.containerDiv.style.display=t)},e}(),o=new window.google.maps.LatLngBounds;let i;for(var s=0;s<t.length;s++){const a=t[s],l=new window.google.maps.LatLng(a.lat,a.lng);(i=new n(l,a.title,a.pos)).setMap(e),o.extend(l)}e.fitBounds(o)}function s(e,t,n){for(var i=new window.google.maps.LatLngBounds,s=0;s<t.length;s++){const l=t[s],d=new window.google.maps.LatLng(l.lat,l.lng);var a=new window.google.maps.Marker({position:d,map:e,icon:"/wp-content/themes/biuro/i/ico--map-pin.svg",title:l.title||""});o&&o.close(),i.extend(d),l.content&&(a.content=l.content,window.google.maps.event.addListener(a,"click",function(){o&&o.close(),(o=new window.google.maps.InfoWindow({content:this.content})).open(e,this)})),n&&(window.innerWidth<960&&window.scrollTo(0,0),new google.maps.event.trigger(a,"click"))}e.fitBounds(i),window.innerWidth>1020?e.panBy(250,0):window.innerWidth>959&&e.panBy(180,0)}function a(e){var t=new window.google.maps.Map(e,{}),n=new window.google.maps.StyledMapType([{featureType:"all",elementType:"all",stylers:[{saturation:-92},{lightness:-8},{hue:"#004ed4"}]},{featureType:"water",elementType:"all",stylers:[{saturation:-95},{lightness:-25},{hue:"#004ed4"}]}],{name:"Biuro"});return t.mapTypes.set("biuro",n),t.setMapTypeId("biuro"),window.google.maps.event.addListenerOnce(t,"bounds_changed",function(){this.getZoom()>15&&this.setZoom(14)}),t}n.r(t);t.default=()=>{const e=document.getElementById("js-map--divisions");e&&fetch("/wp-json/api/v1/divisions?langID="+e.dataset.id).then(e=>e.json()).then(t=>{!function e(t,n){if(!window.google)return void setTimeout(()=>{e(t,n)},250);var o=a(t);let i=[];Object.keys(n).forEach(e=>{const t=n[e];"city"===e.substr(0,4)&&(i=i.concat(t))}),document.querySelectorAll(".js-division").forEach(e=>{e.addEventListener("click",()=>{const t=e&&e.dataset.id?e.dataset.id:"";n[t]?s(o,n[t].filter(e=>e.lat&&e.lng),!0):s(o,i.filter(e=>e.lat&&e.lng))})}),s(o,i.filter(e=>e.lat&&e.lng))}(e,t)});const t=document.getElementById("js-map--cities");t&&fetch("/wp-content/themes/biuro/json/"+t.dataset.source+".json").then(e=>e.json()).then(e=>{!function e(t,n){window.google?i(a(t),n):setTimeout(()=>{e(t,n)},250)}(t,e)});const n=document.getElementById("js-map--regions");n&&function e(t){if(!window.google)return void setTimeout(()=>{e(t)},250);s(a(t),[{title:"Vilnius",lat:54.687157,lng:25.279652},{title:"Rīga",lat:56.946285,lng:24.105078},{title:"Tallinn",lat:59.436962,lng:24.753574}])}(n)}}}]);
\ No newline at end of file
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["map"],{
/***/ "./wp-content/themes/biuro/js/components/map/map.js":
/*!**********************************************************!*\
!*** ./wp-content/themes/biuro/js/components/map/map.js ***!
\**********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n// https://developers-dot-devsite-v2-prod.appspot.com/maps/documentation/javascript/examples/overlay-popup\nfunction createPopupClass() {\n function Popup(position, city, pos = 'top') {\n this.position = position;\n var content = document.createElement('div');\n content.innerHTML = city || '';\n content.classList.add('popup-bubble');\n content.classList.add('popup-bubble--' + pos); // This zero-height div is positioned at the bottom of the bubble.\n\n var bubbleAnchor = document.createElement('div');\n bubbleAnchor.classList.add('popup-bubble-anchor');\n bubbleAnchor.appendChild(content); // This zero-height div is positioned at the bottom of the tip.\n\n this.containerDiv = document.createElement('div');\n this.containerDiv.classList.add('popup-container');\n this.containerDiv.appendChild(bubbleAnchor); // Optionally stop clicks, etc., from bubbling up to the map.\n\n window.google.maps.OverlayView.preventMapHitsAndGesturesFrom(this.containerDiv);\n } // ES5 magic to extend google.maps.OverlayView.\n\n\n Popup.prototype = Object.create(window.google.maps.OverlayView.prototype);\n /** Called when the popup is added to the map. */\n\n Popup.prototype.onAdd = function () {\n this.getPanes().floatPane.appendChild(this.containerDiv);\n };\n /** Called when the popup is removed from the map. */\n\n\n Popup.prototype.onRemove = function () {\n if (this.containerDiv.parentElement) {\n this.containerDiv.parentElement.removeChild(this.containerDiv);\n }\n };\n /** Called each frame when the popup needs to draw itself. */\n\n\n Popup.prototype.draw = function () {\n var divPosition = this.getProjection().fromLatLngToDivPixel(this.position); // Hide the popup when it is far out of view.\n\n var display = Math.abs(divPosition.x) < 4000 && Math.abs(divPosition.y) < 4000 ? 'block' : 'none';\n\n if (display === 'block') {\n this.containerDiv.style.left = divPosition.x + 'px';\n this.containerDiv.style.top = divPosition.y + 'px';\n }\n\n if (this.containerDiv.style.display !== display) {\n this.containerDiv.style.display = display;\n }\n };\n\n return Popup;\n}\n\nvar info;\n\nfunction setCitiesMarkers(map, positions) {\n const Popup = createPopupClass();\n const bounds = new window.google.maps.LatLngBounds();\n let popup;\n\n for (var i = 0; i < positions.length; i++) {\n const position = positions[i];\n const pos = new window.google.maps.LatLng(position.lat, position.lng);\n popup = new Popup(pos, position.title, position.pos);\n popup.setMap(map);\n bounds.extend(pos);\n }\n\n map.fitBounds(bounds);\n}\n\nfunction setMarkers(map, positions, focus) {\n var bounds = new window.google.maps.LatLngBounds();\n\n for (var i = 0; i < positions.length; i++) {\n const position = positions[i];\n const pos = new window.google.maps.LatLng(position.lat, position.lng);\n var marker = new window.google.maps.Marker({\n position: pos,\n map: map,\n icon: '/wp-content/themes/biuro/i/ico--map-pin.svg',\n title: position.title || ''\n });\n\n if (info) {\n info.close();\n }\n\n bounds.extend(pos);\n\n if (position.content) {\n marker.content = position.content;\n window.google.maps.event.addListener(marker, 'click', function () {\n if (info) {\n info.close();\n }\n\n info = new window.google.maps.InfoWindow({\n content: this.content\n });\n info.open(map, this);\n });\n }\n\n if (focus) {\n if (window.innerWidth < 960) {\n window.scrollTo(0, 0);\n }\n\n new google.maps.event.trigger(marker, 'click');\n }\n }\n\n map.fitBounds(bounds);\n\n if (window.innerWidth > 1020) {\n map.panBy(250, 0);\n } else if (window.innerWidth > 959) {\n map.panBy(180, 0);\n }\n}\n\nfunction setGoogleMap(node) {\n const mapStyles = [{\n featureType: 'all',\n elementType: 'all',\n stylers: [{\n saturation: -92\n }, {\n lightness: -8\n }, {\n hue: '#004ed4'\n }]\n }, {\n featureType: 'water',\n elementType: 'all',\n stylers: [{\n saturation: -95\n }, {\n lightness: -25\n }, {\n hue: '#004ed4'\n }]\n }];\n var map = new window.google.maps.Map(node, {});\n var biuroMap = new window.google.maps.StyledMapType(mapStyles, {\n name: 'Biuro'\n });\n map.mapTypes.set('biuro', biuroMap);\n map.setMapTypeId('biuro');\n window.google.maps.event.addListenerOnce(map, 'bounds_changed', function () {\n if (this.getZoom() > 15) {\n this.setZoom(14);\n }\n });\n return map;\n}\n\nfunction initCitiesMap(node, cities) {\n if (!window.google) {\n setTimeout(() => {\n initCitiesMap(node, cities);\n }, 250);\n return;\n }\n\n var map = setGoogleMap(node);\n setCitiesMarkers(map, cities);\n}\n\nfunction initRegionsMap(node) {\n if (!window.google) {\n setTimeout(() => {\n initRegionsMap(node);\n }, 250);\n return;\n }\n\n var map = setGoogleMap(node);\n const regions = [{\n title: 'Vilnius',\n lat: 54.687157,\n lng: 25.279652\n }, {\n title: 'Rīga',\n lat: 56.946285,\n lng: 24.105078\n }, {\n title: 'Tallinn',\n lat: 59.436962,\n lng: 24.753574\n }];\n setMarkers(map, regions);\n}\n\nfunction initDivisionsMap(node, data) {\n if (!window.google) {\n setTimeout(() => {\n initDivisionsMap(node, data);\n }, 250);\n return;\n }\n\n var map = setGoogleMap(node);\n let divisions = [];\n Object.keys(data).forEach(key => {\n const division = data[key];\n\n if (key.substr(0, 4) === 'city') {\n divisions = divisions.concat(division);\n }\n });\n document.querySelectorAll('.js-division').forEach(node => {\n node.addEventListener('click', () => {\n const ID = node && node.dataset.id ? node.dataset.id : '';\n\n if (data[ID]) {\n setMarkers(map, data[ID].filter(d => {\n return d.lat && d.lng;\n }), true);\n } else {\n setMarkers(map, divisions.filter(d => {\n return d.lat && d.lng;\n }));\n }\n });\n });\n setMarkers(map, divisions.filter(d => {\n return d.lat && d.lng;\n }));\n}\n\nconst inititateMap = () => {\n const division = document.getElementById('js-map--divisions');\n\n if (division) {\n fetch('/wp-json/api/v1/divisions?langID=' + division.dataset.id).then(t => t.json()).then(data => {\n initDivisionsMap(division, data);\n });\n }\n\n const city = document.getElementById('js-map--cities');\n\n if (city) {\n fetch('/wp-content/themes/biuro/json/' + city.dataset.source + '.json').then(t => t.json()).then(data => {\n initCitiesMap(city, data);\n });\n }\n\n const region = document.getElementById('js-map--regions');\n\n if (region) {\n initRegionsMap(region);\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (inititateMap);\n\n//# sourceURL=webpack:///./wp-content/themes/biuro/js/components/map/map.js?");
/***/ })
}]);
\ No newline at end of file
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -89,7 +89,7 @@ $langID = $langs[pll_current_language('slug')]['id']; ...@@ -89,7 +89,7 @@ $langID = $langs[pll_current_language('slug')]['id'];
</svg> </svg>
</span> </span>
</label> </label>
<button class="o-btn c-btn--main <?php if ( is_front_page() ): ?>c-btn--search<?php else: ?>c-btn--search-small<?php endif; ?>" type="submit" value="1"> <button class="o-btn c-btn--main <?php if ( is_front_page() ): ?>c-btn--search<?php else: ?>c-btn--search-small<?php endif; ?>" type="submit" value="1" aria-label="<?php _e('Search', 'biuro'); ?>" >
<svg xmlns="http://www.w3.org/2000/svg" width="17px" height="17px" viewBox="0 0 17 17" class="c-ico--search"> <svg xmlns="http://www.w3.org/2000/svg" width="17px" height="17px" viewBox="0 0 17 17" class="c-ico--search">
<path fill="#FFFFFF" d="M16.884,15.694c0.156,0.156,0.156,0.408,0,0.564l-0.75,0.75c-0.156,0.156-0.408,0.156-0.564,0 l-4.031-4.031c-0.073-0.076-0.116-0.176-0.116-0.282v-0.438c-1.212,1.046-2.789,1.68-4.516,1.68C3.091,13.938,0,10.846,0,7.031 s3.091-6.906,6.906-6.906c3.815,0,6.906,3.091,6.906,6.906c0,1.727-0.634,3.304-1.68,4.516h0.438c0.106,0,0.206,0.04,0.282,0.116 L16.884,15.694z M6.906,12.344c2.935,0,5.313-2.377,5.313-5.312S9.841,1.719,6.906,1.719c-2.935,0-5.313,2.377-5.313,5.312 S3.971,12.344,6.906,12.344z"/> <path fill="#FFFFFF" d="M16.884,15.694c0.156,0.156,0.156,0.408,0,0.564l-0.75,0.75c-0.156,0.156-0.408,0.156-0.564,0 l-4.031-4.031c-0.073-0.076-0.116-0.176-0.116-0.282v-0.438c-1.212,1.046-2.789,1.68-4.516,1.68C3.091,13.938,0,10.846,0,7.031 s3.091-6.906,6.906-6.906c3.815,0,6.906,3.091,6.906,6.906c0,1.727-0.634,3.304-1.68,4.516h0.438c0.106,0,0.206,0.04,0.282,0.116 L16.884,15.694z M6.906,12.344c2.935,0,5.313-2.377,5.313-5.312S9.841,1.719,6.906,1.719c-2.935,0-5.313,2.377-5.313,5.312 S3.971,12.344,6.906,12.344z"/>
</svg> <span class="c-search--btn-text"><?php _e('Search', 'biuro'); ?></span> </svg> <span class="c-search--btn-text"><?php _e('Search', 'biuro'); ?></span>
......
...@@ -49,6 +49,7 @@ function showPosted($published, $valid) { ...@@ -49,6 +49,7 @@ function showPosted($published, $valid) {
<?php <?php
$cities = $jobs->field( 'city'); $cities = $jobs->field( 'city');
$count = 0; $count = 0;
$str = '';
//Primary city id //Primary city id
$primaryCities = get_post_meta($ID, '_yoast_wpseo_primary_city'); $primaryCities = get_post_meta($ID, '_yoast_wpseo_primary_city');
...@@ -68,14 +69,18 @@ function showPosted($published, $valid) { ...@@ -68,14 +69,18 @@ function showPosted($published, $valid) {
}); });
foreach($cities as $city): foreach($cities as $city):
if ($count): if ($str):
echo ', '; $str .= ', ';
endif; endif;
echo $city['name']; $str .= $city['name'];
$count++; $count++;
endforeach; endforeach;
echo '<span title="' . $str . '">' . $str . '</span>';
else: else:
?> &nbsp; ?> &nbsp;
<?php <?php
...@@ -127,10 +132,10 @@ function showPosted($published, $valid) { ...@@ -127,10 +132,10 @@ function showPosted($published, $valid) {
$next = ($total > 7 && $page < ($total - 3) ) ? true : false; $next = ($total > 7 && $page < ($total - 3) ) ? true : false;
if ($total > 1) : if ($total > 1) :
echo '<span class="pods-pagination-paginate ">'; echo '<nav class="pods-pagination-paginate ">';
if ($page > 1): if ($page > 1):
echo '<a class="prev page-numbers" href="' . getPaginationURL($page-1) . '"> </a>'; echo '<a rel="prev" aria-label="' . __('Previous page', 'biuro') . '" class="prev page-numbers" href="' . getPaginationURL($page-1) . '"> </a>';
endif; endif;
getPaginationPage(1, $page); getPaginationPage(1, $page);
...@@ -166,16 +171,11 @@ function showPosted($published, $valid) { ...@@ -166,16 +171,11 @@ function showPosted($published, $valid) {
getPaginationPage($total, $page); getPaginationPage($total, $page);
if ($page < $total): if ($page < $total):
echo '<a class="next page-numbers" href="' . getPaginationURL($page+1) . '"> </a>'; echo '<a rel="next" aria-label="' . __('Next page', 'biuro') . '" class="next page-numbers" href="' . getPaginationURL($page+1) . '"> </a>';
endif; endif;
echo '</span>'; echo '</nav>';
endif; endif;
// echo $jobs->pagination( array(
// 'type' => 'paginate' ,
// 'prev_text' => ' ',
// 'next_text' => ' '
// ) );
endif; endif;
?> ?>
# !/usr/bin/env sh # !/usr/bin/env sh
sleep 15; sleep 120;
echo "WP CLI init"; echo "WP CLI init";
wp core update --force; wp core update --force;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment