diff --git a/data.json b/data.json index b391a2e..39ff900 100644 --- a/data.json +++ b/data.json @@ -1775,6 +1775,107 @@ } }, { + "key": "carousel", + "content": { + "items": [ + { + "filename": "architettura-2", + "path": "/post_type/corsi", + "alt": "iuav-laurea-triennale-architettura", + "caption": "Nullam auctor eget libero ac malesuada. In efficitur quam pulvinar accumsan placerat. Quisque mollis eros id congue posuere. Foto © Nome Cognome" + } + ] + } + }, + { + "key": "carousel", + "content": { + "items": [ + { + "filename": "architettura-2", + "path": "/post_type/corsi", + "alt": "iuav-laurea-triennale-architettura", + "caption": "Nullam auctor eget libero ac malesuada. In efficitur quam pulvinar accumsan placerat. Quisque mollis eros id congue posuere. Foto © Nome Cognome" + }, + { + "filename": "architettura-3", + "path": "/post_type/corsi", + "alt": "iuav-laurea-triennale-architettura", + "caption": "Lorem ipsum dolor sit amet consectetur adipiscing elit. Nullam auctor eget libero ac malesuada. Foto © Nome Cognome" + }, + { + "filename": "architettura", + "path": "/post_type/corsi", + "alt": "iuav-laurea-triennale-architettura", + "caption": "Ut quis sollicitudin elit. Integer eleifend faucibus nisi a convallis. Fusce efficitur vitae nisi et faucibus. Sed feugiat augue id orci suscipit ultricies. Foto © Nome Cognome" + } + ] + } + }, + { + "key": "featured-content-stacked", + "classes": "", + "content": { + "title": { + "key": "title", + "classes": "", + "tag": "h2", + "content": { + "title": "Open day", + "link": { + "url": "#", + "label": "Maggiori informazioni" + } + } + }, + "image": { + "filename": "architettura-3", + "path": "/post_type/corsi", + "alt": "iuav-laurea-triennale-architettura-open-day" + }, + "text": { + "key": "paragraph", + "classes": "", + "content": "

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque quis dolor eu arcu interdum laoreet. Mauris sodales rhoncus tellus, nec placerat ligula elementum ultricies. Integer nec congue quam. Integer lobortis justo dui, eget gravida est vestibulum in quisque quis dolor eu arcu.

" + } + } + }, + { + "key": "contacts-section", + "classes": "", + "title": { + "key": "title", + "tag": "h2", + "classes": "block-title--sm", + "content": { + "title": "Contatti" + } + }, + "content": [ + { + "title": null, + "items": [ + { + "title": "Card contatti con descrizione", + "subtitle": "Sottotitolo", + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", + "email": "email@iuav.it", + "phone": "+39 041 000 000", + "links": null + }, + { + "title": "Card contatti semplice", + "subtitle": null, + "text": null, + "email": "email@iuav.it", + "phone": "+39 041 000 000", + "links": null + } + ] + } + ] + }, + { "key": "contacts-section", "classes": "", "title": { @@ -4179,6 +4280,28 @@ "keyword": null, "place": "Scuola Grande di S. Giovanni Evangelista, San Polo, Venezia", "content": "

Saranno trenta le aziende ospiti del Career Day organizzato dall’Università Iuav di Venezia, che si svolgerà venerdì 1 dicembre alla Scuola Grande di San Giovanni Evangelista. Per laureate/i e laureande/i sarà un’occasione importante per incontrare i recruiter aziendali, che hanno preselezionato i candidati tramite una piattaforma virtuale per ottenere il matching migliore.

L'evento è aperto anche a quanti non hanno programmato un colloquio, ma desiderano partecipare al Career Day per conoscere di persona le aziende e dialogare con i recruiter.

I partecipanti hanno avuto modo di prepararsi all'evento grazie al supporto del Servizio Promozione e Orientamento, che ha organizzato incontri preparatori di orientamento professionale: laboratori a supporto dell'accompagnamento al lavoro, CV check e un ciclo di webinar dedicati alla stesura dei portfolio.

Nel corso della giornata diversi panel tenuti da docenti Iuav affronteranno le tematiche della sostenibilità e dell'innovazione.

Il panel \"Vetro e progetti antifragili\", coordinato da Maria Antonia Barucco, dialogherà sulla sostenibilità delle aziende del settore vetro e ceramica con Sergio Malara di Promovetro Murano e con Giorgia Giachetto, responsabile in Confindustria, e si focalizzerà sulle nuove professioni nel campo dell'artigianato artistico e sull'impegno delle imprese che vogliono migliorare in funzione della sostenibilità sociale e ambientale.

Il secondo panel, \"Design di Futuri\", tenuto da Lucilla Fazio e da Tommaso Corà, avrà come tema principale il progetto e il design dell'innovazione e l'impatto dell'AI sul design.

\"Non è mai troppo tardi per capire chi potresti diventare\" è il titolo dell’intervento di Giulio Xhaet, esperto e divulgatore di strategie digitali e progetti di formazione innovativi, che sarà a disposizione dei/delle partecipanti per counselling di orientamento professionale personalizzati.

Il Career Day segna anche il termine del progetto ministeriale di Programmazione Triennale intrapreso da Iuav a partire dal 2022, che ha impegnato il Servizio Promozione e Orientamento nell’organizzazione di iniziative innovative di orientamento al mondo del lavoro per la comunità studentesca dell’Ateneo.

Il progetto ha inoltre permesso di cofinanziare 320 borse per tirocini curriculari avviati all'interno dei nostri corsi di laurea.

", + "left_column_blocks": [ + { + "key": "files-list", + "classes": "", + "content": { + "items": [ + { + "name": "Bottone di download", + "url": "#" + }, + { + "name": "Bottone di download", + "url": "#" + }, + { + "name": "Bottone di download", + "url": "#" + } + ] + } + } + ], "blocks": [ { "key": "composition/composition", @@ -4621,6 +4744,19 @@ "path": "/post_type/corsi", "alt": "iuav-laurea-triennale-architettura", "caption": "Nullam auctor eget libero ac malesuada. In efficitur quam pulvinar accumsan placerat. Quisque mollis eros id congue posuere. Foto © Nome Cognome" + } + ] + } + }, + { + "key": "carousel", + "content": { + "items": [ + { + "filename": "architettura-2", + "path": "/post_type/corsi", + "alt": "iuav-laurea-triennale-architettura", + "caption": "Nullam auctor eget libero ac malesuada. In efficitur quam pulvinar accumsan placerat. Quisque mollis eros id congue posuere. Foto © Nome Cognome" }, { "filename": "architettura-3", diff --git a/src/assets/css/blocks/accordion.css b/src/assets/css/blocks/accordion.css index c0c445a..80107e1 100644 --- a/src/assets/css/blocks/accordion.css +++ b/src/assets/css/blocks/accordion.css @@ -56,9 +56,16 @@ > p{ color: var(--accordion-text-color); @apply mb-0; + &:not(:last-child){ + @apply mb-sm; + } } div[class^="block-"]{ - @apply mb-0; + /* @apply mb-0; */ + @apply mb-sm; + &:last-child{ + @apply mb-0; + } p{ color: var(--accordion-text-color); } @@ -72,7 +79,6 @@ &::before{ background-image: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M37.5 26H12.5V24H37.5V26Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M24 37.5L24 12.5L26 12.5L26 37.5L24 37.5Z' fill='white'/%3E%3C/svg%3E%0A"); @apply rotate-45; - /* background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M34.545 16.868 16.867 34.546l-1.414-1.414 17.678-17.678 1.414 1.414Z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M33.13 34.546 15.454 16.868l1.414-1.414 17.678 17.678-1.414 1.414Z' fill='%23fff'/%3E%3C/svg%3E"); */ } } .block-link{ diff --git a/src/assets/css/blocks/block.css b/src/assets/css/blocks/block.css index 1369af4..22d29bc 100644 --- a/src/assets/css/blocks/block.css +++ b/src/assets/css/blocks/block.css @@ -3,6 +3,9 @@ :is(.block-container), :is(.grid-container){ @apply w-full mx-0 px-0; } + &:empty{ + @apply my-0 !important; + } } .block-composition{ diff --git a/src/assets/css/blocks/carousel.css b/src/assets/css/blocks/carousel.css index 7a3de11..7290243 100644 --- a/src/assets/css/blocks/carousel.css +++ b/src/assets/css/blocks/carousel.css @@ -1,5 +1,8 @@ .block-carousel{ - @apply w-full; + /* @apply w-full; */ + &:not([class*="spacing-"]){ + @apply mb-sm md:mb-base; + } .swiper{ .swiper-button-prev, .swiper-button-next{ @apply w-1/2 h-[var(--carousel-img-height)] top-0 mt-0; @@ -23,7 +26,7 @@ } &__caption{ p{ - @apply text-size-sm mt-base bg-white mb-0 h-full; + @apply text-size-sm mt-8 bg-white mb-0 h-full; } } } @@ -36,5 +39,14 @@ } } } + &:has(> .swiper-pagination .swiper-pagination-bullet:only-child){ + .swiper-slide{ + .swiper-slide__caption{ + p{ + @apply mt-3.75; + } + } + } + } } } \ No newline at end of file diff --git a/src/assets/css/blocks/featured-content.css b/src/assets/css/blocks/featured-content.css index de15f14..2af1e96 100644 --- a/src/assets/css/blocks/featured-content.css +++ b/src/assets/css/blocks/featured-content.css @@ -113,6 +113,9 @@ .block-featured-tabs{ @apply py-sm md:py-base bg-black text-white relative; + &:has(+ *){ + @apply mb-base md:mb-lg; + } [data-tabs-container]{ @apply relative; } diff --git a/src/assets/css/blocks/image.css b/src/assets/css/blocks/image.css index 864f2df..9d84c71 100644 --- a/src/assets/css/blocks/image.css +++ b/src/assets/css/blocks/image.css @@ -5,4 +5,7 @@ @apply w-full h-full object-cover; } } + &:has(+ .block-container){ + @apply mb-base md:mb-lg; + } } \ No newline at end of file diff --git a/src/assets/css/blocks/link.css b/src/assets/css/blocks/link.css index 42192ad..03e6893 100644 --- a/src/assets/css/blocks/link.css +++ b/src/assets/css/blocks/link.css @@ -1,5 +1,8 @@ .block-link{ /* @apply grid grid-cols-2 items-center; */ + &:has( + .block-container):not([class*="spacing-"]){ + @apply mb-sm md:mb-base; + } &.block-container{ /* @ TODO */ width: calc(100% - calc(var(--grid-gutter)*4)); diff --git a/src/assets/css/blocks/video.css b/src/assets/css/blocks/video.css index 2c414fa..9f3cc19 100644 --- a/src/assets/css/blocks/video.css +++ b/src/assets/css/blocks/video.css @@ -1,7 +1,7 @@ .block-video{ &__inner{ @apply aspect-video relative; - video{ + video, iframe{ @apply absolute w-full h-full left-0 top-0; } } diff --git a/src/assets/css/components/pagination.css b/src/assets/css/components/pagination.css index 43d2c01..73ce3e8 100644 --- a/src/assets/css/components/pagination.css +++ b/src/assets/css/components/pagination.css @@ -5,6 +5,15 @@ li{ &:first-child, &:last-child{ @apply hidden lg:inline-flex; + &:has(> span){ + @apply text-grey-300 cursor-not-allowed; + } + @at-root body.has-primary-bg .pagination ul li:first-child:has(> span){ + @apply text-yellow-400; + } + @at-root body.has-primary-bg .pagination ul li:last-child:has(> span){ + @apply text-yellow-400; + } } &:first-child{ @apply mr-5; diff --git a/src/assets/css/page/tender.css b/src/assets/css/page/tender.css index ad85667..c6b54d0 100644 --- a/src/assets/css/page/tender.css +++ b/src/assets/css/page/tender.css @@ -8,6 +8,11 @@ } } } + &--expired, &--completed, &--closed{ + span{ + @apply text-grey-300; + } + } } .tender-logos{ diff --git a/src/blocks/link.twig b/src/blocks/link.twig index 36d021d..28d981b 100644 --- a/src/blocks/link.twig +++ b/src/blocks/link.twig @@ -1,5 +1,5 @@ - + {{block.content.name}} {% if block.content.external_name %}{{block.content.external_name}}{% endif %} diff --git a/src/blocks/pagination.twig b/src/blocks/pagination.twig index fddc0ab..e2c0055 100644 --- a/src/blocks/pagination.twig +++ b/src/blocks/pagination.twig @@ -2,26 +2,43 @@ +{% elseif last_page %} + {% else %} diff --git a/src/layout/page.twig b/src/layout/page.twig index 162e0e5..ce8d18e 100644 --- a/src/layout/page.twig +++ b/src/layout/page.twig @@ -8,4 +8,5 @@ {% for block in post_type.pages[currentPage].blocks %} {% include '../blocks/'~block.key~'.twig' with {'block': block } %} {% endfor %} -{% endblock %} \ No newline at end of file + {% block customContent %}{% endblock %} +{% endblock %} diff --git a/src/layout/single-event.twig b/src/layout/single-event.twig index a88a077..58888e9 100644 --- a/src/layout/single-event.twig +++ b/src/layout/single-event.twig @@ -72,7 +72,11 @@ } } %} {% include "../blocks/link.twig" with {"block": event_signup } %} - + + {% for block in post.left_column_blocks %} + {% include '../blocks/'~block.key~'.twig' with {'block': block } %} + {% endfor %} +
diff --git a/src/layout/single-tender.twig b/src/layout/single-tender.twig index c419de7..bfe42e7 100644 --- a/src/layout/single-tender.twig +++ b/src/layout/single-tender.twig @@ -24,7 +24,7 @@
-
+
{% if post.status.class == 'expired' or post.status.class == 'archived' or post.status.class == 'completed' or post.status.class == 'closed' %}Scaduto{% endif %} {% if post.date is iterable %} diff --git a/src/pages/sample-page.twig b/src/pages/sample-page.twig index ef3c6e9..5121ba1 100644 --- a/src/pages/sample-page.twig +++ b/src/pages/sample-page.twig @@ -4,3 +4,35 @@ {% extends "../layout/page.twig" %} +{% block customContent %} + {% set tenders_test = [ + ["open", "Aperto", "1706270400"], + ["open", "Aperto", ["1706097600", "1706270400"]], + ["closed", "Chiuso", "1706270400"], + ["completed", "Esito disponibile", "1706270400"], + ["archived", "Archiviato", "1706270400"], + ["expired", "In fase di assegnazione", "1706270400"] + ] %} + + {% for tender in tenders_test %} +
+
+
+ {% if tender[0] == 'expired' or tender[0] == 'archived' or tender[0] == 'completed' or tender[0] == 'closed' %}Scaduto{% endif %} + + {% if tender[2] is iterable %} +
+ Prorogato al {{tender[2][1]|date('d.m.Y, H:s')}} + Scadenza {{tender[2][0]|date('d.m.Y, H:s')}} +
+ {% else %} + {% if tender[0] == 'open' or tender[0] == 'closed' %}Scadenza{% endif %} {{tender[2]|date('d.m.Y, H:s')}} + {% endif %} + +
+ {{tender[1]}} +
+
+ {% endfor %} + +{% endblock %} \ No newline at end of file