wagtail-enap-designsystem 1.2.1.158__py3-none-any.whl → 1.2.1.159__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of wagtail-enap-designsystem might be problematic. Click here for more details.

Files changed (32) hide show
  1. enap_designsystem/blocks/__init__.py +2 -0
  2. enap_designsystem/blocks/content_blocks.py +47 -1
  3. enap_designsystem/blocks/html_blocks.py +49 -13
  4. enap_designsystem/blocks/semana_blocks.py +157 -94
  5. enap_designsystem/migrations/0432_alter_areaaluno_body_alter_cursoeadpage_curso_and_more.py +72634 -0
  6. enap_designsystem/migrations/0433_alter_areaaluno_body_and_more.py +57331 -0
  7. enap_designsystem/migrations/0434_templateespecializacao_cards_one.py +599 -0
  8. enap_designsystem/migrations/0435_alter_templateespecializacao_team_carousel.py +220 -0
  9. enap_designsystem/migrations/0436_alter_areaaluno_body_alter_articlepage_body_and_more.py +80628 -0
  10. enap_designsystem/migrations/0437_alter_enapformacao_body_and_more.py +3728 -0
  11. enap_designsystem/models.py +61 -41
  12. enap_designsystem/static/enap_designsystem/blocks/btn.css +31 -0
  13. enap_designsystem/static/enap_designsystem/blocks/cards.css +13 -6
  14. enap_designsystem/static/enap_designsystem/blocks/carousel_images.css +2 -2
  15. enap_designsystem/static/enap_designsystem/blocks/feature_course.css +4 -0
  16. enap_designsystem/static/enap_designsystem/blocks/navbar/navbar.css +2 -2
  17. enap_designsystem/static/enap_designsystem/blocks/team_carousel.css +2 -1
  18. enap_designsystem/static/enap_designsystem/blocks/team_modern.css +2 -1
  19. enap_designsystem/templates/enap_designsystem/base.html +2 -11
  20. enap_designsystem/templates/enap_designsystem/blocks/card_block.html +40 -3
  21. enap_designsystem/templates/enap_designsystem/blocks/carousel_images.html +1 -1
  22. enap_designsystem/templates/enap_designsystem/blocks/feature_estrutura.html +6 -0
  23. enap_designsystem/templates/enap_designsystem/blocks/footer_block.html +1 -0
  24. enap_designsystem/templates/enap_designsystem/blocks/preview_courses.html +7 -1
  25. enap_designsystem/templates/enap_designsystem/blocks/richtext_block.html +61 -62
  26. enap_designsystem/templates/enap_designsystem/blocks/suap/apisuap_courses_block.html +38 -14
  27. enap_designsystem/templates/enap_designsystem/pages/template_mba.html +16 -5
  28. {wagtail_enap_designsystem-1.2.1.158.dist-info → wagtail_enap_designsystem-1.2.1.159.dist-info}/METADATA +1 -1
  29. {wagtail_enap_designsystem-1.2.1.158.dist-info → wagtail_enap_designsystem-1.2.1.159.dist-info}/RECORD +32 -26
  30. {wagtail_enap_designsystem-1.2.1.158.dist-info → wagtail_enap_designsystem-1.2.1.159.dist-info}/WHEEL +0 -0
  31. {wagtail_enap_designsystem-1.2.1.158.dist-info → wagtail_enap_designsystem-1.2.1.159.dist-info}/licenses/LICENSE +0 -0
  32. {wagtail_enap_designsystem-1.2.1.158.dist-info → wagtail_enap_designsystem-1.2.1.159.dist-info}/top_level.txt +0 -0
@@ -1664,16 +1664,22 @@ class TemplateEspecializacao(Page):
1664
1664
  )
1665
1665
 
1666
1666
  feature_course = StreamField([
1667
- ('feature_course', CourseFeatureBlock()),
1668
- ], use_json_field=True, blank=True, null=True, default=[
1669
- ('feature_course', {
1670
- 'title_1': 'Características do Curso',
1671
- 'description_1': 'Conheça os principais diferenciais e características que tornam nosso programa único no mercado.',
1672
- 'title_2': 'Metodologia Inovadora',
1673
- 'description_2': 'Utilizamos as mais modernas práticas pedagógicas para garantir o melhor aprendizado.',
1674
- 'image': None
1675
- })
1676
- ])
1667
+ ('feature_course', CourseFeatureBlock()),
1668
+ ('card_cards', blocks.StreamBlock(CARD_CARDS_STREAMBLOCKS, required=False)),
1669
+ ],
1670
+ use_json_field=True,
1671
+ blank=True,
1672
+ null=True,
1673
+ default=[
1674
+ ('feature_course', {
1675
+ 'title_1': 'Características do Curso',
1676
+ 'description_1': 'Conheça os principais diferenciais e características que tornam nosso programa único no mercado.',
1677
+ 'title_2': 'Metodologia Inovadora',
1678
+ 'description_2': 'Utilizamos as mais modernas práticas pedagógicas para garantir o melhor aprendizado.',
1679
+ 'image': None
1680
+ })
1681
+ ]
1682
+ )
1677
1683
 
1678
1684
  content = StreamField(
1679
1685
  [
@@ -1691,6 +1697,13 @@ class TemplateEspecializacao(Page):
1691
1697
  ]
1692
1698
  )
1693
1699
 
1700
+ cards_one = StreamField(
1701
+ CARD_CARDS_STREAMBLOCKS,
1702
+ null=True,
1703
+ blank=True,
1704
+ use_json_field=True,
1705
+ )
1706
+
1694
1707
  feature_estrutura = StreamField([
1695
1708
  ('feature_estrutura', CourseModulesBlock()),
1696
1709
  ], use_json_field=True, blank=True, null=True, default=[
@@ -1747,36 +1760,42 @@ class TemplateEspecializacao(Page):
1747
1760
  ])
1748
1761
 
1749
1762
  team_carousel = StreamField([
1750
- ('team_carousel', TeamCarouselBlock()),
1751
- ], use_json_field=True, blank=True, null=True, default=[
1752
- ('team_carousel', {
1753
- 'title': 'Nossa Equipe',
1754
- 'description': 'Conheça os profissionais especializados que compõem nosso corpo docente',
1755
- 'view_all_text': 'Ver todos os professores',
1756
- 'members': [
1757
- {
1758
- 'name': 'Prof. Dr. Nome Sobrenome',
1759
- 'role': '<p>Coordenador Acadêmico</p>',
1760
- 'image': None
1761
- },
1762
- {
1763
- 'name': 'Prof. Mestre Nome Sobrenome',
1764
- 'role': '<p>Docente Especialista</p>',
1765
- 'image': None
1766
- },
1767
- {
1768
- 'name': 'Prof. Dr. Nome Sobrenome',
1769
- 'role': '<p>Professor Convidado</p>',
1770
- 'image': None
1771
- },
1772
- {
1773
- 'name': 'Prof. Mestre Nome Sobrenome',
1774
- 'role': '<p>Consultor Especializado</p>',
1775
- 'image': None
1776
- }
1777
- ]
1778
- })
1779
- ])
1763
+ ('team_carousel', TeamCarouselBlock()),
1764
+ ('team_modern', TeamModern()),
1765
+ ],
1766
+ use_json_field=True,
1767
+ blank=True,
1768
+ null=True,
1769
+ default=[
1770
+ ('team_carousel', {
1771
+ 'title': 'Nossa Equipe',
1772
+ 'description': 'Conheça os profissionais especializados que compõem nosso corpo docente',
1773
+ 'view_all_text': 'Ver todos os professores',
1774
+ 'members': [
1775
+ {
1776
+ 'name': 'Prof. Dr. Nome Sobrenome',
1777
+ 'role': '<p>Coordenador Acadêmico</p>',
1778
+ 'image': None
1779
+ },
1780
+ {
1781
+ 'name': 'Prof. Mestre Nome Sobrenome',
1782
+ 'role': '<p>Docente Especialista</p>',
1783
+ 'image': None
1784
+ },
1785
+ {
1786
+ 'name': 'Prof. Dr. Nome Sobrenome',
1787
+ 'role': '<p>Professor Convidado</p>',
1788
+ 'image': None
1789
+ },
1790
+ {
1791
+ 'name': 'Prof. Mestre Nome Sobrenome',
1792
+ 'role': '<p>Consultor Especializado</p>',
1793
+ 'image': None
1794
+ }
1795
+ ]
1796
+ })
1797
+ ]
1798
+ )
1780
1799
 
1781
1800
  cards = StreamField(
1782
1801
  CARD_CARDS_STREAMBLOCKS,
@@ -1798,9 +1817,10 @@ class TemplateEspecializacao(Page):
1798
1817
  FieldPanel('status_inscricao'),
1799
1818
  FieldPanel('content'),
1800
1819
  FieldPanel('feature_course'),
1820
+ FieldPanel('cards_one'),
1801
1821
  FieldPanel('feature_estrutura'),
1802
- FieldPanel('feature_processo_seletivo'),
1803
1822
  FieldPanel('team_carousel'),
1823
+ FieldPanel('feature_processo_seletivo'),
1804
1824
  FieldPanel('cards'),
1805
1825
  FieldPanel("footer"),
1806
1826
  ]
@@ -1,5 +1,6 @@
1
1
  a{
2
2
  text-decoration: none;
3
+ color: inherit;
3
4
  }
4
5
 
5
6
  .btn{
@@ -13,6 +14,36 @@ a{
13
14
  text-decoration: none;
14
15
  }
15
16
 
17
+
18
+
19
+ .content-richtext a {
20
+ display: inline-flex;
21
+ align-items: center;
22
+ padding: 8px 14px;
23
+ background-color: #007D7A;
24
+ border: none;
25
+ color: white;
26
+ gap: 8px;
27
+ width: auto;
28
+ text-decoration: none;
29
+ border-radius: 32px;
30
+ }
31
+
32
+ .content-richtext a::after {
33
+ content: "\f138";
34
+ font-family: "Font Awesome 6 Free";
35
+ font-weight: 900;
36
+ font-size: 0.9em;
37
+ }
38
+
39
+ .content-richtext a:hover {
40
+ background-color: #006562;
41
+ color: white;
42
+ }
43
+
44
+
45
+
46
+
16
47
  .small{
17
48
  height: 32px;
18
49
  border-radius: 32px;
@@ -51,7 +51,7 @@
51
51
  p {
52
52
  font-weight: 400;
53
53
  line-height: 150%;
54
- font-size: 16px;
54
+ font-size: 20px;
55
55
  word-wrap: break-word;
56
56
  }
57
57
 
@@ -149,9 +149,16 @@
149
149
 
150
150
 
151
151
  .card-primary p{
152
-
153
- color: #434A54;
152
+ color: #434A54 !important;
154
153
  }
154
+
155
+ .card-primary .card-icone{
156
+ color: #024248 !important;
157
+ }
158
+
159
+ .card-primary h2{
160
+ color: #434A54 !important;
161
+ }
155
162
 
156
163
 
157
164
  .card-secondary{
@@ -463,7 +470,7 @@
463
470
  .bg-enap-40 h4,
464
471
  .bg-enap-40 h5,
465
472
  .bg-enap-40 h6 {
466
- color: white !important;
473
+ color: white;
467
474
  }
468
475
 
469
476
  /* Versão alternativa mais compacta usando seletor de atributo */
@@ -516,7 +523,7 @@
516
523
  .section-card[class*="bg-enap-40"] h4,
517
524
  .section-card[class*="bg-enap-40"] h5,
518
525
  .section-card[class*="bg-enap-40"] h6 {
519
- color: white !important;
526
+ color: white;
520
527
  }
521
528
 
522
529
  /* Aplica também para outros elementos de texto comuns */
@@ -548,7 +555,7 @@
548
555
  .bg-enap-40 div,
549
556
  .bg-enap-40 li,
550
557
  .bg-enap-40 a {
551
- color: white !important;
558
+ color: white;
552
559
  }
553
560
 
554
561
  /* Para links, mantém a funcionalidade de hover */
@@ -146,8 +146,8 @@
146
146
  }
147
147
 
148
148
 
149
- .slide-subtitle p{
150
- color: white;
149
+ .slide-subtitle p, .slide-subtitle ul{
150
+ color: inherit;
151
151
  }
152
152
 
153
153
  .slide-button-wrapper {
@@ -4,6 +4,10 @@
4
4
  padding: 90px 0;
5
5
  }
6
6
 
7
+ .section-description_template p {
8
+ font-size: 16px;
9
+ }
10
+
7
11
  .grid-two-columns {
8
12
  display: grid;
9
13
  grid-template-columns: repeat(2, 1fr);
@@ -116,9 +116,9 @@
116
116
  width: max-content;
117
117
  }
118
118
 
119
- .fa-circle-user:hover {
119
+ /* .fa-circle-user:hover {
120
120
  color: white;
121
- }
121
+ } */
122
122
 
123
123
  .navbar .login-btn:hover {
124
124
  background: #006D77;
@@ -208,7 +208,8 @@
208
208
  .content-richtext h1,
209
209
  .content-richtext h2 {
210
210
  color: #434A54;
211
- font-weight: 500;
211
+ font-weight: 400;
212
+ font-size: 16px;
212
213
  }
213
214
 
214
215
  .content-richtext p {
@@ -36,7 +36,7 @@
36
36
  }
37
37
 
38
38
  .header-teammodern p {
39
- font-size: 1.5rem;
39
+ font-size: 18px;
40
40
  color: #333840;
41
41
  max-width: 800px;
42
42
  }
@@ -133,6 +133,7 @@
133
133
 
134
134
  .member-role p{
135
135
  margin-bottom: 0;
136
+ font-size: 14px;
136
137
  }
137
138
 
138
139
  /* Estilos responsivos para mobile */
@@ -5,7 +5,7 @@
5
5
 
6
6
  <html lang="pt-BR">
7
7
  <head>
8
- {# Meta descrição tradicional ANTES das tags Open Graph #}
8
+ {# Meta descrição tradicional ANTES das tags Open Graph #}
9
9
  {% if page.legenda_home %}
10
10
  <meta name="description" content="{{ page.legenda_home|striptags|truncatewords:25 }}">
11
11
  {% elif page.subtitulo %}
@@ -302,18 +302,8 @@
302
302
 
303
303
  // Estilização
304
304
  link.style.textDecoration = 'none';
305
- link.style.color = '#007D7A';
306
305
 
307
- // Adicionar efeito hover
308
- link.addEventListener('mouseenter', function() {
309
- this.style.textDecoration = 'underline';
310
- this.style.color = '#005a58';
311
- });
312
306
 
313
- link.addEventListener('mouseleave', function() {
314
- this.style.textDecoration = 'none';
315
- this.style.color = '#007D7A';
316
- });
317
307
  });
318
308
 
319
309
  // Estilizar parágrafos
@@ -340,6 +330,7 @@
340
330
  list.style.marginBottom = '1em';
341
331
  });
342
332
  });
333
+
343
334
  </script>
344
335
  {% endblock %}
345
336
 
@@ -9,6 +9,8 @@
9
9
  {% if value.image %}
10
10
  {% image value.image original format-webp as card_bg_img %}
11
11
  <div class="card-bgimage" style="background-image: url('{{ card_bg_img.url }}');">
12
+ {% elif value.icone %}
13
+ <i class="card-icone {{ value.icone }}"></i>
12
14
  <!-- Link overlay para o primeiro botão -->
13
15
  {% if value.links %}
14
16
  {% for link_block in value.links %}
@@ -79,6 +81,8 @@
79
81
  {% if value.image %}
80
82
  {% image value.image fill-800x450 format-webp preserve-svg as card_img %}
81
83
  <div class="img-card" style="background-image: url('{{ card_img.url }}');"></div>
84
+ {% elif value.icone %}
85
+ <i class="card-icone {{ value.icone }}"></i>
82
86
  {% endif %}
83
87
  </div>
84
88
 
@@ -151,6 +155,8 @@
151
155
  {% if value.image %}
152
156
  {% image value.image fill-800x450 format-webp preserve-svg as card_img %}
153
157
  <div class="img-card" style="background-image: url('{{ card_img.url }}');"></div>
158
+ {% elif value.icone %}
159
+ <i class="card-icone {{ value.icone }}"></i>
154
160
  {% endif %}
155
161
  </div>
156
162
  </div>
@@ -158,6 +164,8 @@
158
164
  {% if value.image %}
159
165
  {% image value.image fill-800x450 format-webp preserve-svg as card_img %}
160
166
  <div class="img-card" style="background-image: url('{{ card_img.url }}');"></div>
167
+ {% elif value.icone %}
168
+ <i class="card-icone {{ value.icone }}"></i>
161
169
  {% endif %}
162
170
 
163
171
  <div class="wrapper-text-button_card-terciary">
@@ -179,11 +187,11 @@
179
187
 
180
188
  <div class="wrapper-text-card">
181
189
  {% if value.title %}
182
- <h2 class="h2-card {% if value.type == 'card-secondary' %}text-center{% endif %} {% if value.type == 'card-secondary' or value.type == 'card-terciary' %}white{% endif %}">{{ value.title }}</h2>
190
+ <h2 class="h2-card{% if value.type == 'card-secondary' %}text-center{% endif %}{% if value.type == 'card-secondary' or value.type == 'card-terciary' %}white{% endif %}">{{ value.title }}</h2>
183
191
  {% endif %}
184
192
 
185
193
  {% if value.description %}
186
- <div class="p-card {% if value.type == 'card-secondary' %}text-center{% endif %} {% if value.type == 'card-secondary' or value.type == 'card-terciary' %}white{% endif %}">{{ value.description|richtext }}</div>
194
+ <div class="p-card{% if value.type == 'card-secondary' %}text-center{% endif %}{% if value.type == 'card-secondary' or value.type == 'card-terciary' %}white{% endif %}">{{ value.description|richtext }}</div>
187
195
  {% endif %}
188
196
  </div>
189
197
 
@@ -222,4 +230,33 @@
222
230
  {% endif %}
223
231
  </div>
224
232
  {% endif %}
225
- </div>
233
+ </div>
234
+ <style>
235
+ .card-icone{
236
+ text-align: center;
237
+ font-size: 72px;
238
+ padding: 15px 0;
239
+ {% if value.cor_texto_hex %}
240
+ color: {{value.cor_texto_hex}};
241
+ {% elif value.cor_texto %}
242
+ color: {{value.cor_texto}};
243
+ {% endif %}
244
+ }
245
+
246
+ .h2-card, ul {
247
+ font-size: 20px;
248
+ }
249
+
250
+ .h2-card{
251
+ font-weight: 600;
252
+ }
253
+
254
+ .h2-card, .p-card p{
255
+ {% if value.cor_texto_hex %}
256
+ color: {{value.cor_texto_hex}};
257
+ {% elif value.cor_texto %}
258
+ color: {{value.cor_texto}};
259
+ {% endif %}
260
+ text-align: {{ value.text_align }};
261
+ }
262
+ </style>
@@ -135,7 +135,7 @@
135
135
  width: 100%;
136
136
  height: var(--altura-desktop);
137
137
  overflow: hidden;
138
- margin-bottom: 60px;
138
+ margin-bottom: 0px;
139
139
  }
140
140
 
141
141
  @media (max-width: 768px) {
@@ -1,4 +1,5 @@
1
1
  {% load wagtailimages_tags %}
2
+ {% load wagtailcore_tags %}
2
3
  {% load static %}
3
4
  {% block content %}
4
5
  <section class="course-structure">
@@ -7,6 +8,11 @@
7
8
  <div class="icon-title-container">
8
9
  <h2>{{ value.title }}</h2>
9
10
  </div>
11
+ {% if value.description %}
12
+ <div class="section-description_template">
13
+ {{ value.description|richtext }}
14
+ </div>
15
+ {% endif %}
10
16
 
11
17
  <div class="modules-grid">
12
18
  {% for module in value.modules %}
@@ -100,6 +100,7 @@
100
100
  margin: 0px;
101
101
  padding: 0px;
102
102
  list-style: none;
103
+ font-size: 16px;
103
104
  }
104
105
 
105
106
  .footer-links_generico ul li a{
@@ -7,7 +7,13 @@
7
7
  <section class="section-courses">
8
8
  <div class="content-section">
9
9
  <div class="section-header">
10
- <h2 class="section-heading">{{ value.page.title }}</h2>
10
+ <h2 class="section-heading">
11
+ {% if value.title %}
12
+ {{ value.title }}
13
+ {% else %}
14
+ {{ value.page.title }}
15
+ {% endif %}
16
+ </h2>
11
17
  </div>
12
18
 
13
19
  <div class="slider-container">
@@ -1,65 +1,64 @@
1
1
  {% load wagtailcore_tags %}
2
+
3
+ <style>
4
+ .content-richtext a {
5
+ display: inline-flex;
6
+ align-items: center;
7
+ padding: 8px 14px;
8
+ background-color: #007D7A;
9
+ border: none;
10
+ color: white;
11
+ gap: 8px;
12
+ width: auto;
13
+ text-decoration: none;
14
+ border-radius: 32px;
15
+ transition: background-color 0.3s, transform 0.2s;
16
+ }
17
+
18
+ .content-richtext a::after {
19
+ content: "\f138";
20
+ font-family: "Font Awesome 6 Free";
21
+ font-weight: 900;
22
+ font-size: 0.9em;
23
+ transition: transform 0.2s;
24
+ }
25
+
26
+ .content-richtext a:hover {
27
+ background-color: #006562;
28
+ }
29
+
30
+
31
+ .content-richtext p {
32
+ margin-bottom: 1.2em;
33
+ line-height: 1.6;
34
+ }
35
+
36
+ .content-richtext h2 {
37
+ font-size: 1.5em;
38
+ margin-top: 1em;
39
+ color: #333;
40
+ }
41
+
42
+ .content-richtext ul,
43
+ .content-richtext ol {
44
+ margin-left: 1.5em;
45
+ margin-bottom: 1em;
46
+ }
47
+
48
+ .content-richtext blockquote {
49
+ border-left: 3px solid #007D7A;
50
+ padding-left: 1em;
51
+ margin-left: 0;
52
+ color: #555;
53
+ }
54
+
55
+ .content-richtext img {
56
+ max-width: 100%;
57
+ height: auto;
58
+ margin: 1em 0;
59
+ }
60
+ </style>
61
+
2
62
  <div class="content-richtext">
3
63
  {% block block_render %}{{ self|richtext }}{% endblock %}
4
- </div>
5
-
6
- <script>
7
- document.addEventListener('DOMContentLoaded', function() {
8
- // Estilizar links
9
- const links = document.querySelectorAll('.content-richtext a');
10
- links.forEach(function(link) {
11
- link.style.textDecoration = 'none';
12
- link.style.color = '#007D7A';
13
-
14
- // Adicionar efeito hover
15
- link.addEventListener('mouseenter', function() {
16
- this.style.textDecoration = 'underline';
17
- this.style.color = '#005a58';
18
- });
19
-
20
- link.addEventListener('mouseleave', function() {
21
- this.style.textDecoration = 'none';
22
- this.style.color = '#007D7A';
23
- });
24
- });
25
-
26
- // Estilizar parágrafos
27
- const paragraphs = document.querySelectorAll('.content-richtext p');
28
- paragraphs.forEach(function(p) {
29
- p.style.marginBottom = '1.2em';
30
- p.style.lineHeight = '1.6';
31
- });
32
-
33
- // Estilizar cabeçalhos
34
- const headings = document.querySelectorAll('.content-richtext h2');
35
- headings.forEach(function(heading) {
36
- heading.style.fontSize = '1.5em';
37
- heading.style.marginTop = '1em';
38
- heading.style.color = '#333';
39
- });
40
-
41
- // Estilizar listas
42
- const lists = document.querySelectorAll('.content-richtext ul, .content-richtext ol');
43
- lists.forEach(function(list) {
44
- list.style.marginLeft = '1.5em';
45
- list.style.marginBottom = '1em';
46
- });
47
-
48
- // Estilizar citações
49
- const blockquotes = document.querySelectorAll('.content-richtext blockquote');
50
- blockquotes.forEach(function(quote) {
51
- quote.style.borderLeft = '3px solid #007D7A';
52
- quote.style.paddingLeft = '1em';
53
- quote.style.marginLeft = '0';
54
- quote.style.color = '#555';
55
- });
56
-
57
- // Estilizar imagens
58
- const images = document.querySelectorAll('.content-richtext img');
59
- images.forEach(function(img) {
60
- img.style.maxWidth = '100%';
61
- img.style.height = 'auto';
62
- img.style.margin = '1em 0';
63
- });
64
- });
65
- </script>
64
+ </div>