diff --git a/backend/news/+authomatic.internal b/backend/news/+authomatic.internal new file mode 100644 index 0000000..065bbff --- /dev/null +++ b/backend/news/+authomatic.internal @@ -0,0 +1 @@ +Atualiza `pas.plugins.authomatic` para versão 2.0.0. @ericof diff --git a/backend/news/+techevent.feature b/backend/news/+techevent.feature new file mode 100644 index 0000000..ddd80bb --- /dev/null +++ b/backend/news/+techevent.feature @@ -0,0 +1 @@ +Adiciona e configura `collective.techevent`. @ericof diff --git a/backend/pyproject.toml b/backend/pyproject.toml index 7286260..2fc7245 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -30,8 +30,9 @@ dependencies = [ "plone.volto", "plonegovbr.socialmedia>=2.0.0a5", "collective.volto.formsupport", - "pas.plugins.authomatic==2.0.0rc3", + "pas.plugins.authomatic==2.0.0", "collective.honeypot", + "collective.techevent==1.0.0a5", "plone.app.upgrade", "plone.app.discussion", ] @@ -104,6 +105,7 @@ constraint-dependencies = [ "collective.recipe.omelette==2.0.0", "collective.recipe.template==2.2", "collective.recipe.vscode==0.1.9", + "collective.techevent==1.0.0a5", "collective.xmltestreport==2.0.2", "collective.z3cform.datagridfield==3.0.3", "colorama==0.4.6", @@ -180,7 +182,7 @@ constraint-dependencies = [ "outcome==1.3.0post0", "overrides==7.7.0", "packaging==24.2", - "pas.plugins.authomatic==2.0.0rc3", + "pas.plugins.authomatic==2.0.0", "Paste==3.10.1", "PasteDeploy==3.1.0", "pdbpp==0.10.3", @@ -296,8 +298,8 @@ constraint-dependencies = [ "plone.volto==5.0.4", "plone.z3cform==2.0.4", "Plone==6.1.1", + "plonegovbr.socialmedia>=2.0.0a5", "plonetheme.barceloneta==3.2.3", - "plonegovbr.socialmedia==2.0.0a5", "pluggy==1.5.0", "Products.BTreeFolder2==5.1", "Products.CMFCore==3.7", diff --git a/backend/src/pythonbrasil/site/dependencies.zcml b/backend/src/pythonbrasil/site/dependencies.zcml index e4105b4..75e3f3b 100644 --- a/backend/src/pythonbrasil/site/dependencies.zcml +++ b/backend/src/pythonbrasil/site/dependencies.zcml @@ -7,4 +7,5 @@ + diff --git a/backend/src/pythonbrasil/site/profiles/default/metadata.xml b/backend/src/pythonbrasil/site/profiles/default/metadata.xml index bcd4155..c06b4f5 100644 --- a/backend/src/pythonbrasil/site/profiles/default/metadata.xml +++ b/backend/src/pythonbrasil/site/profiles/default/metadata.xml @@ -1,11 +1,12 @@ - 20250425001 + 20250616001 profile-plone.volto:default profile-plone.app.caching:default profile-plone.app.caching:with-caching-proxy profile-collective.volto.formsupport:default profile-plonegovbr.socialmedia:default + profile-collective.techevent:default diff --git a/backend/src/pythonbrasil/site/profiles/default/registry/plone.base.interfaces.controlpanel.INavigationSchema.xml b/backend/src/pythonbrasil/site/profiles/default/registry/plone.base.interfaces.controlpanel.INavigationSchema.xml new file mode 100644 index 0000000..ec46b71 --- /dev/null +++ b/backend/src/pythonbrasil/site/profiles/default/registry/plone.base.interfaces.controlpanel.INavigationSchema.xml @@ -0,0 +1,17 @@ + + + + + Link + Document + Schedule + SponsorsDB + SponsorLevel + Venue + + + diff --git a/backend/src/pythonbrasil/site/profiles/default/types.xml b/backend/src/pythonbrasil/site/profiles/default/types.xml index af08c7c..ff566b6 100644 --- a/backend/src/pythonbrasil/site/profiles/default/types.xml +++ b/backend/src/pythonbrasil/site/profiles/default/types.xml @@ -2,13 +2,5 @@ - - - + diff --git a/backend/src/pythonbrasil/site/profiles/default/types/Plone_Site.xml b/backend/src/pythonbrasil/site/profiles/default/types/Plone_Site.xml index 905e5ac..dfe5924 100644 --- a/backend/src/pythonbrasil/site/profiles/default/types/Plone_Site.xml +++ b/backend/src/pythonbrasil/site/profiles/default/types/Plone_Site.xml @@ -16,6 +16,7 @@ + diff --git a/backend/src/pythonbrasil/site/profiles/default/types/Sponsor.xml b/backend/src/pythonbrasil/site/profiles/default/types/Sponsor.xml deleted file mode 100644 index 789b508..0000000 --- a/backend/src/pythonbrasil/site/profiles/default/types/Sponsor.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - Sponsor - Conference Sponsor. - - False - Sponsor - - - - - False - True - - - pythonbrasil.site.AddSponsor - pythonbrasil.site.content.sponsors.sponsor.Sponsor - - - pythonbrasil.site.content.sponsors.sponsor.ISponsor - - - - - - - - - - - - diff --git a/backend/src/pythonbrasil/site/profiles/default/types/SponsorLevel.xml b/backend/src/pythonbrasil/site/profiles/default/types/SponsorLevel.xml deleted file mode 100644 index 3fd1d9e..0000000 --- a/backend/src/pythonbrasil/site/profiles/default/types/SponsorLevel.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - Sponsorship Level - Package of sponsorship for the conference. - - False - SponsorLevel - - - - - False - True - - - - - - - pythonbrasil.site.AddSponsorLevel - pythonbrasil.site.content.sponsors.sponsor_level.SponsorLevel - - - pythonbrasil.site.content.sponsors.sponsor_level.ISponsorLevel - - - - - - - - - - - - - diff --git a/backend/src/pythonbrasil/site/profiles/default/types/SponsorsDB.xml b/backend/src/pythonbrasil/site/profiles/default/types/SponsorsDB.xml deleted file mode 100644 index fef0d61..0000000 --- a/backend/src/pythonbrasil/site/profiles/default/types/SponsorsDB.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - Sponsors Database - Conference Sponsoring information. - - False - SponsorsDB - - - - - True - True - - - - - - - pythonbrasil.site.AddSponsorsDB - pythonbrasil.site.content.sponsors.sponsors_db.SponsorsDB - - - pythonbrasil.site.content.sponsors.sponsors_db.ISponsorsDB - - - - - - - - - - - - - - diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/.gitignore b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/.gitignore deleted file mode 100644 index e8184c2..0000000 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -discussions.json -portlets.json -principals.json -translations.json diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/.gitkeep b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/005d63f8dd7b41818ae3e5e2ba1f36d9/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/005d63f8dd7b41818ae3e5e2ba1f36d9/data.json new file mode 100644 index 0000000..fe16df6 --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/005d63f8dd7b41818ae3e5e2ba1f36d9/data.json @@ -0,0 +1,155 @@ +{ + "@id": "/patrocine/patrocine-agora", + "@type": "Document", + "UID": "005d63f8dd7b41818ae3e5e2ba1f36d9", + "allow_discussion": null, + "blocks": { + "314512cf-4b46-4f5e-ab4f-7cf5d1584a8e": { + "@type": "slate" + }, + "734d2d7e-9130-4cd3-823b-44e8d70bd5c5": { + "@type": "levelComparisonBlock", + "tableTitle": "Compare", + "title": "Compare as cotas" + }, + "9b200cf8-d854-429d-866b-4a5804cebbeb": { + "@type": "form", + "captcha": "honeypot", + "captcha_props": { + "id": "protected_1" + }, + "configValidation": { + "required_fields": [ + "default_to", + "default_from", + "default_subject", + "captcha" + ], + "schema_validation": [], + "valid": true + }, + "default_from": "noreply@plone.org", + "default_subject": "[Patroc\u00ednio]", + "default_to": "eventos@python.org.br", + "lastChange": 1750192634521, + "send": true, + "send_email": true, + "store": true, + "subblocks": [ + { + "description": "Seu nome", + "field_id": "1750192369628", + "field_type": "text", + "id": "1750192369628", + "label": "Nome", + "required": true + }, + { + "description": "Nome da sua empresa./ organiza\u00e7\u00e3o", + "field_id": "1750192413975", + "field_type": "text", + "id": "1750192413975", + "label": "Organiza\u00e7\u00e3o", + "required": false + }, + { + "description": "Informe um e-mail para contato", + "field_id": "1750192443474", + "field_type": "from", + "id": "1750192443474", + "label": "E-mail", + "required": false, + "use_as_bcc": false, + "use_as_reply_to": true + }, + { + "description": "Cota que voc\u00ea teria interesse", + "field_id": "1750192477799", + "field_type": "single_choice", + "id": "1750192477799", + "input_values": [ + "Platina", + "Ouro", + "Prata", + "Bronze" + ], + "label": "Cota", + "required": false + }, + { + "field_id": "1750192531605", + "field_type": "textarea", + "id": "1750192531605", + "label": "Informa\u00e7\u00f5es adicionais", + "required": false + } + ], + "title": "Apoie a Python Brasil" + }, + "c2382279-9684-4983-9061-7f63d61baab8": { + "@type": "title" + }, + "c50b8f05-f800-45bc-810d-b3313322ce07": { + "@type": "description" + } + }, + "blocks_layout": { + "items": [ + "c2382279-9684-4983-9061-7f63d61baab8", + "c50b8f05-f800-45bc-810d-b3313322ce07", + "9b200cf8-d854-429d-866b-4a5804cebbeb", + "734d2d7e-9130-4cd3-823b-44e8d70bd5c5", + "314512cf-4b46-4f5e-ab4f-7cf5d1584a8e" + ] + }, + "changeNote": "", + "contributors": [], + "created": "2025-06-17T20:36:47+00:00", + "creators": [ + "admin" + ], + "description": "Garanta a sua vaga na Python Brasil 2025", + "effective": "2025-06-17T20:36:50+00:00", + "exclude_from_nav": false, + "expires": null, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "patrocine-agora", + "is_folderish": true, + "language": "##DEFAULT##", + "layout": "document_view", + "lock": { + "locked": false, + "stealable": true + }, + "modified": "2025-06-17T20:37:20+00:00", + "preview_caption": null, + "preview_image": null, + "review_state": "published", + "rights": "", + "subjects": [], + "title": "Patrocine agora", + "type_title": "Page", + "version": "current", + "versioning_enabled": true, + "workflow_history": { + "simple_publication_workflow": [ + { + "action": null, + "actor": "admin", + "comments": "", + "review_state": "private", + "time": "2025-06-17T20:36:47+00:00" + }, + { + "action": "publish", + "actor": "admin", + "comments": "", + "review_state": "published", + "time": "2025-06-17T20:36:50+00:00" + } + ] + }, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/092354832f23462aa392f34597ce4d39/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/092354832f23462aa392f34597ce4d39/data.json new file mode 100644 index 0000000..71581aa --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/092354832f23462aa392f34597ce4d39/data.json @@ -0,0 +1,69 @@ +{ + "@id": "/patrocine/organizacao", + "@type": "SponsorLevel", + "UID": "092354832f23462aa392f34597ce4d39", + "allow_discussion": null, + "benefits": [], + "blocks": { + "7e2d7cc2-b727-486e-9249-2fb6499f1265": { + "@type": "description" + }, + "b8d04143-0fe9-403e-aa26-3e049885a9a8": { + "@type": "sponsorLevelBlock", + "styles": { + "align:noprefix": { + "--block-alignment": "var(--align-center)" + } + } + }, + "b9b149cd-1ec4-424b-87a8-4bff4518f549": { + "@type": "title" + } + }, + "blocks_layout": { + "items": [ + "b9b149cd-1ec4-424b-87a8-4bff4518f549", + "7e2d7cc2-b727-486e-9249-2fb6499f1265", + "b8d04143-0fe9-403e-aa26-3e049885a9a8" + ] + }, + "color": "#3e3841", + "created": "2025-06-16T19:15:44+00:00", + "description": "A Python Brasil 2025 s\u00f3 \u00e9 poss\u00edvel gra\u00e7as a essas organiza\u00e7\u00f5es", + "exclude_from_nav": true, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "organizacao", + "is_folderish": true, + "language": "##DEFAULT##", + "layout": "view", + "lock": {}, + "modified": "2025-06-16T19:43:37+00:00", + "nav_title": null, + "preview_caption_link": null, + "price": null, + "review_state": "published", + "title": "Organiza\u00e7\u00e3o", + "type_title": "Sponsorship Level", + "version": "current", + "workflow_history": { + "simple_publication_workflow": [ + { + "action": null, + "actor": "admin", + "comments": "", + "review_state": "private", + "time": "2025-06-16T19:15:44+00:00" + }, + { + "action": "publish", + "actor": "admin", + "comments": "", + "review_state": "published", + "time": "2025-06-16T19:19:49+00:00" + } + ] + }, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/0b7437380fe441aa8673ceaa662e92c5/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/0b7437380fe441aa8673ceaa662e92c5/data.json new file mode 100644 index 0000000..3c4fe2a --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/0b7437380fe441aa8673ceaa662e92c5/data.json @@ -0,0 +1,285 @@ +{ + "@id": "/patrocine/prata", + "@type": "SponsorLevel", + "UID": "0b7437380fe441aa8673ceaa662e92c5", + "allow_discussion": null, + "benefits": [ + { + "@id": "d79e6a46-a680-4f9e-93ab-3720886f0ae9", + "code": { + "title": "Marca: Logo no local do evento", + "token": "62861964-c29e-4ea1-b139-90c50884a541" + }, + "id": "d79e6a46-a680-4f9e-93ab-3720886f0ae9", + "title": "Marca: Logo no local do evento", + "value": null + }, + { + "@id": "c3edb968-bed1-4e5a-bfe7-93666f3630f6", + "code": { + "title": "Digital: Post personalizado em redes sociais", + "token": "2f9fda0a-32f9-47a0-9ca6-1b6c20caf46a" + }, + "id": "c3edb968-bed1-4e5a-bfe7-93666f3630f6", + "title": "Digital: Post personalizado em redes sociais", + "value": "1" + }, + { + "@id": "0b39a013-4afa-40aa-a04b-f63c23a6a629", + "code": { + "title": "Digital: Post agradecimento em redes sociais", + "token": "b3c20966-701e-44f2-af8c-9436fd78aff7" + }, + "id": "0b39a013-4afa-40aa-a04b-f63c23a6a629", + "title": "Digital: Post agradecimento em redes sociais", + "value": null + }, + { + "@id": "9b0c64c2-1dbf-4eeb-9d93-7de4bd09458a", + "code": { + "title": "Intera\u00e7\u00e3o: Palco principal", + "token": "5c18f964-94bf-407c-914b-83cc0998d6d9" + }, + "id": "9b0c64c2-1dbf-4eeb-9d93-7de4bd09458a", + "title": "Intera\u00e7\u00e3o: Palco principal", + "value": "1 minuto" + }, + { + "@id": "b74e0b64-d658-4594-9570-7b2ab590f342", + "code": { + "title": "Intera\u00e7\u00e3o: Kit do participante", + "token": "f01b8239-31ff-40fd-9b66-b3c655a2bd5c" + }, + "id": "b74e0b64-d658-4594-9570-7b2ab590f342", + "title": "Intera\u00e7\u00e3o: Kit do participante", + "value": null + }, + { + "@id": "f0113f7b-8085-4735-82b1-c90d56236e89", + "code": { + "title": "Ingressos: Inclusos", + "token": "9d3be2f0-e191-49b0-85a8-ac3b05519b45" + }, + "id": "f0113f7b-8085-4735-82b1-c90d56236e89", + "title": "Ingressos: Inclusos", + "value": "4" + }, + { + "@id": "93e17b45-850b-43fc-b1c5-da15dc137e1e", + "code": { + "title": "Ingressos: Desconto", + "token": "57c3f9de-d97e-4d47-abae-f6e2318c826a" + }, + "id": "93e17b45-850b-43fc-b1c5-da15dc137e1e", + "title": "Ingressos: Desconto", + "value": "20%" + } + ], + "blocks": { + "3f470053-30e0-41ee-a5c9-bd44f6fbf685": { + "@type": "sponsorLevelBlock", + "displayCTA": true, + "href": [ + { + "@id": "../../resolveuid/005d63f8dd7b41818ae3e5e2ba1f36d9", + "@type": "Document", + "Description": "Garanta a sua vaga na Python Brasil 2025", + "Title": "Patrocine agora", + "hasPreviewImage": null, + "head_title": null, + "image_field": "", + "title": "Patrocine agora" + } + ], + "label": "Patrocine!", + "styles": { + "align:noprefix": { + "--block-alignment": "var(--align-center)" + } + }, + "title": "Seja o primeiro" + }, + "4118a227-ff45-48ff-93f7-bffed2ae774e": { + "@type": "title" + }, + "63d31026-c7ab-43a7-be82-f0fd5f766505": { + "@type": "accordion", + "collapsed": false, + "data": { + "blocks": { + "24ffd234-53b5-4948-ae79-1422f61c1474": { + "@type": "accordionPanel", + "blocks": { + "21d9e0d4-5484-4c04-893e-1ac83f69d8a8": { + "@type": "slate", + "plaintext": "Sua logo aparecer\u00e1 em toda identidade visual no local do evento: banners, pain\u00e9is de foto, salas de palestras, v\u00eddeos exibidos no intervalos de atividades!", + "value": [ + { + "children": [ + { + "text": "Sua logo aparecer\u00e1 em toda identidade visual no local do evento: banners, pain\u00e9is de foto, salas de palestras, v\u00eddeos exibidos no intervalos de atividades!" + } + ], + "type": "p" + } + ] + }, + "76dcf01e-1f95-4a35-83fc-31421e7f6741": { + "@type": "slate", + "plaintext": "N\u00e3o tem como passar despercebido!", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "N\u00e3o tem como passar despercebido!" + } + ], + "type": "p" + } + ] + } + }, + "blocks_layout": { + "items": [ + "21d9e0d4-5484-4c04-893e-1ac83f69d8a8", + "76dcf01e-1f95-4a35-83fc-31421e7f6741" + ] + }, + "title": "Presen\u00e7a marcante" + }, + "49f25694-881e-4102-a036-a16159690900": { + "@type": "accordionPanel", + "blocks": { + "b042282e-6cfe-4f3b-baeb-c5729d602468": { + "@type": "slate", + "plaintext": "Al\u00e9m de sua presen\u00e7a no espa\u00e7o f\u00edsico, sua marca ser\u00e1 exibida nos intervalos das lives, estar\u00e1 no site do evento e ser\u00e1 divulgada nos posts de apresenta\u00e7\u00e3o e agradecimento de patrocinador!", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Al\u00e9m de sua presen\u00e7a no espa\u00e7o f\u00edsico, sua marca ser\u00e1 exibida nos intervalos das lives, estar\u00e1 no site do evento e ser\u00e1 divulgada nos posts de apresenta\u00e7\u00e3o e agradecimento de patrocinador!" + } + ], + "type": "p" + } + ] + } + }, + "blocks_layout": { + "items": [ + "b042282e-6cfe-4f3b-baeb-c5729d602468" + ] + }, + "title": "Um grande alcance" + }, + "513b0dbf-b5ed-4b07-bca5-14946a0d25c4": { + "@type": "accordionPanel", + "blocks": { + "ed2fc39a-e4ba-4655-b952-adf0969f75ed": { + "@type": "slate", + "plaintext": "Poder\u00e1 ter um post pr\u00f3prio nas nossas redes sociais com conte\u00fado enviado por voc\u00eas!", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Poder\u00e1 ter um post pr\u00f3prio nas nossas redes sociais com conte\u00fado enviado por voc\u00eas!" + } + ], + "type": "p" + } + ] + } + }, + "blocks_layout": { + "items": [ + "ed2fc39a-e4ba-4655-b952-adf0969f75ed" + ] + }, + "title": "Interagindo com a comunidade" + }, + "642211c7-c318-4a76-9cca-4d998f0e790c": { + "@type": "accordionPanel", + "blocks": { + "0957ef69-8300-45f8-ba00-47a8e4f832bc": { + "@type": "levelBenefitsBlock", + "tableTitle": "Compare", + "title": " " + } + }, + "blocks_layout": { + "items": [ + "0957ef69-8300-45f8-ba00-47a8e4f832bc" + ] + }, + "title": "Todos os Benef\u00edcios" + } + }, + "blocks_layout": { + "items": [ + "24ffd234-53b5-4948-ae79-1422f61c1474", + "49f25694-881e-4102-a036-a16159690900", + "513b0dbf-b5ed-4b07-bca5-14946a0d25c4", + "642211c7-c318-4a76-9cca-4d998f0e790c" + ] + } + }, + "filtering": false, + "non_exclusive": false, + "right_arrows": true, + "styles": {}, + "theme": "red" + } + }, + "blocks_layout": { + "items": [ + "4118a227-ff45-48ff-93f7-bffed2ae774e", + "63d31026-c7ab-43a7-be82-f0fd5f766505", + "3f470053-30e0-41ee-a5c9-bd44f6fbf685" + ] + }, + "color": "#000000", + "created": "2025-06-16T19:13:53+00:00", + "description": "Presen\u00e7a marcante", + "exclude_from_nav": false, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "prata", + "is_folderish": true, + "language": "##DEFAULT##", + "layout": "view", + "lock": {}, + "modified": "2025-06-17T20:38:56+00:00", + "nav_title": null, + "preview_caption_link": null, + "price": "R$20.000,00", + "review_state": "published", + "title": "Prata", + "type_title": "Sponsorship Level", + "version": "current", + "workflow_history": { + "simple_publication_workflow": [ + { + "action": null, + "actor": "admin", + "comments": "", + "review_state": "private", + "time": "2025-06-16T19:13:53+00:00" + }, + { + "action": "publish", + "actor": "admin", + "comments": "", + "review_state": "published", + "time": "2025-06-16T19:20:41+00:00" + } + ] + }, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/17000670d687482992d5a85fdb1f82e6/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/17000670d687482992d5a85fdb1f82e6/data.json new file mode 100644 index 0000000..b7ac178 --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/17000670d687482992d5a85fdb1f82e6/data.json @@ -0,0 +1,341 @@ +{ + "@id": "/patrocine", + "@type": "SponsorsDB", + "UID": "17000670d687482992d5a85fdb1f82e6", + "allow_discussion": null, + "benefits": [ + { + "description": "V\u00eddeo institucional apresentado na abertura / encerramento (1m30s)", + "id": "3b1a1e54-ea33-4b5e-a823-4c1f21bba321", + "title": "Marca: V\u00eddeo abertura / encerramento" + }, + { + "description": "Logo no crach\u00e1", + "id": "f74e57ce-5307-48f8-976f-704912947eea", + "title": "Marca: Crach\u00e1" + }, + { + "description": "V\u00eddeo institucional apresentado na abertura dos keynotes", + "id": "0480a40f-de48-4706-8ed4-b2066d82dcb7", + "title": "Marca: V\u00eddeo keynotes" + }, + { + "description": "Logo nos elementos de identidade visual f\u00edsicos (banners, pain\u00e9is, salas de palestras)", + "id": "62861964-c29e-4ea1-b139-90c50884a541", + "title": "Marca: Logo no local do evento" + }, + { + "description": "Logo com destaque no site", + "id": "50f0be38-488a-4744-8bd1-7e90ebfbb681", + "title": "Digital: Destaque no site" + }, + { + "description": "Logo nos conte\u00fados digitais do evento (transmiss\u00e3o ao vivo, grava\u00e7\u00f5es no YouTube)", + "id": "83700ec1-4229-4467-aacc-03a2e3de17eb", + "title": "Digital: Logo em v\u00eddeos" + }, + { + "description": "Posts em redes sociais com conte\u00fado enviado pela empresa", + "id": "2f9fda0a-32f9-47a0-9ca6-1b6c20caf46a", + "title": "Digital: Post personalizado em redes sociais" + }, + { + "description": "Posts em redes sociais com conte\u00fado padr\u00e3o de apresenta\u00e7\u00e3o e agradecimento", + "id": "b3c20966-701e-44f2-af8c-9436fd78aff7", + "title": "Digital: Post agradecimento em redes sociais" + }, + { + "description": "Logo no site do evento (diferencia\u00e7\u00e3o de tamanhos por cota)", + "id": "750f4e1e-17ea-44f2-8af2-655d99e28a88", + "title": "Digital: Logo no site" + }, + { + "description": "Estande de 3m x 3m com montagem inclusa", + "id": "fbb995d8-a03f-471a-ae93-5da5db6dd3e6", + "title": "Intera\u00e7\u00e3o: Estande" + }, + { + "description": "Espa\u00e7o reservado na programa\u00e7\u00e3o para atividade (palestra/tutorial) avaliado pela org", + "id": "b2193c1b-7bbf-4f27-b495-f4a76793b791", + "title": "Intera\u00e7\u00e3o: Atividades" + }, + { + "description": "Envio de e-mail para os participantes (vagas, an\u00fancio de produtos)", + "id": "162d91e1-1d01-40a0-952f-da40f9c7f9fb", + "title": "Intera\u00e7\u00e3o: E-mail" + }, + { + "description": "Tempo para apresenta\u00e7\u00e3o com participantes no palco principal", + "id": "5c18f964-94bf-407c-914b-83cc0998d6d9", + "title": "Intera\u00e7\u00e3o: Palco principal" + }, + { + "description": "Adicionar brindes ou produtos nas sacolas dos participantes", + "id": "f01b8239-31ff-40fd-9b66-b3c655a2bd5c", + "title": "Intera\u00e7\u00e3o: Kit do participante" + }, + { + "description": "Ingressos cortesia inclusos na cota", + "id": "9d3be2f0-e191-49b0-85a8-ac3b05519b45", + "title": "Ingressos: Inclusos" + }, + { + "description": "Desconto para ingressos inteiros do lote vigente", + "id": "57c3f9de-d97e-4d47-abae-f6e2318c826a", + "title": "Ingressos: Desconto" + } + ], + "blocks": { + "0f0131a3-a98d-429e-9d6b-a1002be4f529": { + "@type": "title" + }, + "639d7a12-bbed-47c7-9cfe-ebd652f3e6c5": { + "@type": "gridBlock", + "blocks": { + "7e44a1dc-8fbb-4623-80f1-894ebf584f5a": { + "@type": "teaser", + "description": "Presen\u00e7a marcante", + "head_title": null, + "href": [ + { + "@id": "../resolveuid/0b7437380fe441aa8673ceaa662e92c5", + "@type": "SponsorLevel", + "Description": "Presen\u00e7a marcante", + "Subject": [], + "Title": "Prata", + "description": "Presen\u00e7a marcante", + "effective": "2025-06-16T19:20:41+00:00", + "end": null, + "getObjSize": "0 KB", + "hasPreviewImage": false, + "head_title": null, + "image_field": "preview_image_link", + "mime_type": "text/plain", + "nav_title": null, + "review_state": "published", + "start": null, + "title": "Prata", + "type_title": "Cota de Patroc\u00ednio" + } + ], + "overwrite": false, + "styles": { + "align": "center" + }, + "theme": "default", + "title": "Prata" + }, + "a22d5467-359e-441a-9d2e-b3ef2195a6a9": { + "@type": "teaser", + "description": "Conquistando espa\u00e7o", + "head_title": null, + "href": [ + { + "@id": "../resolveuid/922ba8ede6da49dc850dc25a7e5061e2", + "@type": "SponsorLevel", + "Description": "", + "Subject": [], + "Title": "Bronze", + "description": "Conquistando espa\u00e7o", + "effective": "2025-06-16T19:20:41+00:00", + "end": null, + "getObjSize": "0 KB", + "getRemoteUrl": null, + "hasPreviewImage": null, + "head_title": null, + "image_field": "preview_image_link", + "mime_type": "text/plain", + "nav_title": null, + "review_state": "published", + "start": null, + "title": "Bronze", + "type_title": "Cota de Patroc\u00ednio" + } + ], + "overwrite": false, + "styles": { + "align": "center" + }, + "theme": "default", + "title": "Bronze" + } + }, + "blocks_layout": { + "items": [ + "7e44a1dc-8fbb-4623-80f1-894ebf584f5a", + "a22d5467-359e-441a-9d2e-b3ef2195a6a9" + ] + }, + "styles": {}, + "theme": "grey" + }, + "6fab02e8-5ef5-4fe5-a038-264682e9e84b": { + "@type": "sponsorsShowcaseBlock", + "styles": { + "align:noprefix": { + "--block-alignment": "var(--align-center)" + } + }, + "title": "" + }, + "9d2ff0dc-670b-464d-9a3b-2e75c17ad07b": { + "@type": "gridBlock", + "blocks": { + "43e9c83b-78ad-43d1-a95e-d647a63fb734": { + "@type": "teaser", + "description": "Sua marca em destaque!", + "head_title": null, + "href": [ + { + "@id": "../resolveuid/de070eedcb854959a6a4be4d87c083e3", + "@type": "SponsorLevel", + "Description": "Sua marca em destaque!", + "Subject": [], + "Title": "Platina", + "description": "Sua marca em destaque!", + "effective": "2025-06-16T19:20:41+00:00", + "end": null, + "getObjSize": "0 KB", + "getRemoteUrl": null, + "hasPreviewImage": null, + "head_title": null, + "image_field": "preview_image_link", + "mime_type": "text/plain", + "nav_title": null, + "review_state": "published", + "start": null, + "title": "Platina", + "type_title": "Cota de Patroc\u00ednio" + } + ], + "overwrite": false, + "styles": { + "align": "center" + }, + "theme": "default", + "title": "Platina" + }, + "aeb14b8a-9afe-4723-9b2d-928851420ce9": { + "@type": "teaser", + "description": "Todos os olhos em voc\u00ea", + "head_title": null, + "href": [ + { + "@id": "../resolveuid/cc193578bdf2480c8274e682b06dbfb9", + "@type": "SponsorLevel", + "Description": "Todos os olhos em voc\u00ea", + "Subject": [], + "Title": "Ouro", + "description": "Todos os olhos em voc\u00ea", + "effective": "2025-06-16T19:20:41+00:00", + "end": null, + "getObjSize": "0 KB", + "hasPreviewImage": false, + "head_title": null, + "image_field": "preview_image_link", + "mime_type": "text/plain", + "nav_title": null, + "review_state": "published", + "start": null, + "title": "Ouro", + "type_title": "Cota de Patroc\u00ednio" + } + ], + "overwrite": false, + "styles": { + "align": "center" + }, + "theme": "default", + "title": "Ouro" + } + }, + "blocks_layout": { + "items": [ + "43e9c83b-78ad-43d1-a95e-d647a63fb734", + "aeb14b8a-9afe-4723-9b2d-928851420ce9" + ] + }, + "headline": "Cotas de patroc\u00ednio", + "styles": {}, + "theme": "grey" + }, + "a7e78dfc-7a34-40fb-a6f4-13509b2b9177": { + "@type": "gridBlock", + "blocks": { + "9a1b36c6-57bd-406d-9982-3f8a16929fdc": { + "@type": "__button", + "href": [ + { + "@id": "https://www.canva.com/design/DAGXPOZVdD0/9BKeLRxlSyHevEtM1TXDJQ/view?utm_content=DAGXPOZVdD0&utm_campaign=designshare&utm_medium=link2&utm_source=uniquelinks&utlId=h6c1ffd66be", + "title": "www.canva.com/design/DAGXPOZVdD0/9BKeLRxlSyHevEtM1TXDJQ/view?utm_content=DAGXPOZVdD0&utm_campaign=designshare&utm_medium=link2&utm_source=uniquelinks&utlId=h6c1ffd66be" + } + ], + "inneralign": "center", + "styles": { + "blockWidth:noprefix": { + "--block-width": "var(--narrow-container-width)" + } + }, + "title": "Plano de patroc\u00ednio" + } + }, + "blocks_layout": { + "items": [ + "9a1b36c6-57bd-406d-9982-3f8a16929fdc" + ] + }, + "styles": {}, + "theme": "default" + }, + "afc606a1-3620-46d1-8ad9-367ad7531ced": { + "@type": "description" + } + }, + "blocks_layout": { + "items": [ + "0f0131a3-a98d-429e-9d6b-a1002be4f529", + "afc606a1-3620-46d1-8ad9-367ad7531ced", + "9d2ff0dc-670b-464d-9a3b-2e75c17ad07b", + "639d7a12-bbed-47c7-9cfe-ebd652f3e6c5", + "a7e78dfc-7a34-40fb-a6f4-13509b2b9177", + "6fab02e8-5ef5-4fe5-a038-264682e9e84b" + ] + }, + "created": "2025-06-16T19:06:04+00:00", + "description": "Sua organiza\u00e7\u00e3o pode ser parte do maior evento de Python do Brasil", + "exclude_from_nav": false, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "patrocine", + "is_folderish": true, + "language": "##DEFAULT##", + "layout": "view", + "lock": {}, + "modified": "2025-06-17T20:37:40+00:00", + "nav_title": null, + "preview_caption_link": null, + "review_state": "published", + "title": "Patrocine", + "type_title": "Sponsors Database", + "version": "current", + "workflow_history": { + "simple_publication_workflow": [ + { + "action": null, + "actor": "admin", + "comments": "", + "review_state": "private", + "time": "2025-06-16T19:06:04+00:00" + }, + { + "action": "publish", + "actor": "admin", + "comments": "", + "review_state": "published", + "time": "2025-06-16T19:19:55+00:00" + } + ] + }, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/24689ede20f346c09ce7d50b68ff893b/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/24689ede20f346c09ce7d50b68ff893b/data.json index 314d866..aea65f3 100644 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/24689ede20f346c09ce7d50b68ff893b/data.json +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/24689ede20f346c09ce7d50b68ff893b/data.json @@ -12,6 +12,128 @@ "collapsed": false, "data": { "blocks": { + "02fbff2e-73de-46d7-8c78-0c49c6276397": { + "@type": "accordionPanel", + "blocks": { + "7a3ad61c-e190-446e-a5b2-263a3ac81d53": { + "@type": "slate", + "plaintext": "Como temos tr\u00eas atividades principais diferentes ao longo dos 7 dias do evento, cada uma delas acontece em um local diferente. Seguem os locais de cada atividade:", + "styles": {}, + "value": [ + { + "children": [ + { + "text": "Como temos tr\u00eas atividades principais diferentes ao longo dos 7 dias do evento, cada uma delas acontece em um local diferente. Seguem os locais de cada atividade:" + } + ], + "type": "p" + } + ] + }, + "e9972544-5126-45e8-a5ca-9ba10ffe5f46": { + "@type": "slate", + "plaintext": "Dias 21 a 23 de outubro (tutoriais) - Local a definir Dias 24 a 26 de outubro (evento principal) - Centro de Eventos S\u00e3o Lu\u00eds, R. Lu\u00eds Coelho, 323 - Consola\u00e7\u00e3o Dia 27 de outubro (sprints) - Local a definir ", + "styles": {}, + "value": [ + { + "children": [ + { + "children": [ + { + "text": "Dias 21 a 23 de outubro (tutoriais) - " + }, + { + "children": [ + { + "text": "Local a definir" + } + ], + "type": "strong" + }, + { + "text": "" + } + ], + "type": "li" + }, + { + "children": [ + { + "text": "Dias 24 a 26 de outubro (evento principal) - " + }, + { + "children": [ + { + "text": "Centro de Eventos S\u00e3o Lu\u00eds, R. Lu\u00eds Coelho, 323 - Consola\u00e7\u00e3o" + } + ], + "type": "strong" + }, + { + "text": "" + } + ], + "type": "li" + }, + { + "children": [ + { + "text": "Dia 27 de outubro (sprints) - " + }, + { + "children": [ + { + "text": "Local a definir" + } + ], + "type": "strong" + }, + { + "text": "" + } + ], + "type": "li" + } + ], + "type": "ol" + } + ] + } + }, + "blocks_layout": { + "items": [ + "7a3ad61c-e190-446e-a5b2-263a3ac81d53", + "e9972544-5126-45e8-a5ca-9ba10ffe5f46" + ] + }, + "title": "Em que local de S\u00e3o Paulo acontecer\u00e1 o evento?" + }, + "296f77a1-c5e6-48cf-9ebf-0ad01f1d5115": { + "@type": "accordionPanel", + "blocks": { + "e77dbfe0-7790-4517-abc0-9899996dd81c": { + "@type": "slate", + "plaintext": "A Python Brasil 2025 acontecer\u00e1 entre os dias 21 a 27 de outubro de 2025.", + "styles": {}, + "value": [ + { + "children": [ + { + "text": "A Python Brasil 2025 acontecer\u00e1 entre os dias 21 a 27 de outubro de 2025." + } + ], + "type": "p" + } + ] + } + }, + "blocks_layout": { + "items": [ + "e77dbfe0-7790-4517-abc0-9899996dd81c" + ] + }, + "title": "Quando acontecer\u00e1 o evento?" + }, "32a3a802-7461-4ca8-a5d8-e3550ca73407": { "@type": "accordionPanel", "blocks": { @@ -38,36 +160,181 @@ }, "title": "Quem organiza a Python Brasil?" }, + "5d225a03-9cd3-49c8-92d6-5b7db8ea0710": { + "@type": "accordionPanel", + "blocks": { + "8339f5f3-730e-4f60-9082-b04b52c74bd2": { + "@type": "slate", + "plaintext": "Cada um dos tr\u00eas tipos de atividades da Python Brasil t\u00eam uma forma de participar diferente:", + "styles": {}, + "value": [ + { + "children": [ + { + "text": "Cada um dos tr\u00eas tipos de atividades da Python Brasil t\u00eam uma forma de participar diferente:" + } + ], + "type": "p" + } + ] + }, + "94a88e6c-36d8-4ef3-bd34-ae34d0e19cb4": { + "@type": "slate", + "plaintext": "Os tutoriais s\u00e3o atividades gratuitas que qualquer pessoa pode participar, quando tivermos a grade fechada e estiver mais pr\u00f3ximo da data do evento divulgaremos a abertura dos ingressos para as pessoas participarem. Para ter acesso aos tr\u00eas dias do evento principal \u00e9 preciso comprar o ingresso na plataforma eventbrite por meio desse link . As sprints s\u00e3o atividades gratuitas que qualquer pessoa pode s\u00f3 chegar e participar, sem precisar adquirir ingresso, entretanto \u00e9 poss\u00edvel que o espa\u00e7o dedicado para essa atividade comporte um n\u00famero limitado de pessoas.", + "styles": {}, + "value": [ + { + "children": [ + { + "children": [ + { + "text": "Os tutoriais s\u00e3o atividades gratuitas que qualquer pessoa pode participar, quando tivermos a grade fechada e estiver mais pr\u00f3ximo da data do evento divulgaremos a abertura dos ingressos para as pessoas participarem." + } + ], + "type": "li" + }, + { + "children": [ + { + "text": "Para ter acesso aos tr\u00eas dias do evento principal \u00e9 preciso comprar o ingresso na plataforma eventbrite por meio desse " + }, + { + "children": [ + { + "text": "link" + } + ], + "data": { + "url": "https://www.eventbrite.com.br/e/python-brasil-2025-tickets-1051606111187" + }, + "type": "link" + }, + { + "text": "." + } + ], + "type": "li" + }, + { + "children": [ + { + "text": "As sprints s\u00e3o atividades gratuitas que qualquer pessoa pode s\u00f3 chegar e participar, sem precisar adquirir ingresso, entretanto \u00e9 poss\u00edvel que o espa\u00e7o dedicado para essa atividade comporte um n\u00famero limitado de pessoas." + } + ], + "type": "li" + } + ], + "type": "ol" + } + ] + } + }, + "blocks_layout": { + "items": [ + "8339f5f3-730e-4f60-9082-b04b52c74bd2", + "94a88e6c-36d8-4ef3-bd34-ae34d0e19cb4" + ] + }, + "title": "Como participo do evento?" + }, "dc3ec1b7-96f0-44ef-9772-4f66d778c215": { + "@type": "accordionPanel", "blocks": { + "01c92162-683e-4776-babf-03c00f44489b": { + "@type": "slate", + "plaintext": "Entre os dias 21 a 23 teremos os tutoriais. Tutoriais s\u00e3o mini cursos pr\u00e1ticos ministrados pela comunidade Entre os dias 24 a 26 teremos o evento principal com palestras dadas pela comunidade No dia 27 teremos as sprints. Sprints s\u00e3o atividades em conjunto para a contribui\u00e7\u00e3o em reposit\u00f3rios de c\u00f3digo aberto.", + "styles": {}, + "value": [ + { + "children": [ + { + "children": [ + { + "text": "Entre os dias 21 a 23 teremos os tutoriais. Tutoriais s\u00e3o mini cursos pr\u00e1ticos ministrados pela comunidade" + } + ], + "type": "li" + }, + { + "children": [ + { + "text": "Entre os dias 24 a 26 teremos o evento principal com palestras dadas pela comunidade" + } + ], + "type": "li" + }, + { + "children": [ + { + "text": "No dia 27 teremos as sprints. Sprints s\u00e3o atividades em conjunto para a contribui\u00e7\u00e3o em reposit\u00f3rios de c\u00f3digo aberto." + } + ], + "type": "li" + } + ], + "type": "ol" + } + ] + }, "31f0d625-b078-422c-8d68-eb354ba36505": { - "@type": "slate" + "@type": "slate", + "plaintext": "Siim, o evento acontecer\u00e1 entre os dias 21 a 27 de outubro de 2025, mas teremos atividades diferentes em cada dia:", + "styles": {}, + "value": [ + { + "children": [ + { + "text": "Siim, o evento acontecer\u00e1 entre os dias 21 a 27 de outubro de 2025, mas teremos atividades diferentes em cada dia:" + } + ], + "type": "p" + } + ] } }, "blocks_layout": { "items": [ - "31f0d625-b078-422c-8d68-eb354ba36505" + "31f0d625-b078-422c-8d68-eb354ba36505", + "01c92162-683e-4776-babf-03c00f44489b" ] - } + }, + "title": "O evento dura mesmo 7 dias?" }, "f84b13e8-1136-4510-9000-d0b1c4cf7290": { + "@type": "accordionPanel", "blocks": { "149b5491-5191-4a42-88a7-db38134b40f0": { - "@type": "slate" + "@type": "slate", + "plaintext": "Keynotes s\u00e3o pessoas convidadas pela organiza\u00e7\u00e3o do evento para palestrar em um hor\u00e1rio que a \u00fanica atividade acontecendo \u00e9 essa palestra.\nNormalmente s\u00e3o pessoas relevantes para a comunidade python seja t\u00e9cnicamente ou n\u00e3o.", + "styles": {}, + "value": [ + { + "children": [ + { + "text": "Keynotes s\u00e3o pessoas convidadas pela organiza\u00e7\u00e3o do evento para palestrar em um hor\u00e1rio que a \u00fanica atividade acontecendo \u00e9 essa palestra.\nNormalmente s\u00e3o pessoas relevantes para a comunidade python seja t\u00e9cnicamente ou n\u00e3o." + } + ], + "type": "p" + } + ] } }, "blocks_layout": { "items": [ "149b5491-5191-4a42-88a7-db38134b40f0" ] - } + }, + "title": "O que s\u00e3o keynotes?" } }, "blocks_layout": { "items": [ + "296f77a1-c5e6-48cf-9ebf-0ad01f1d5115", + "dc3ec1b7-96f0-44ef-9772-4f66d778c215", + "02fbff2e-73de-46d7-8c78-0c49c6276397", + "5d225a03-9cd3-49c8-92d6-5b7db8ea0710", "32a3a802-7461-4ca8-a5d8-e3550ca73407", - "f84b13e8-1136-4510-9000-d0b1c4cf7290", - "dc3ec1b7-96f0-44ef-9772-4f66d778c215" + "f84b13e8-1136-4510-9000-d0b1c4cf7290" ] } }, @@ -80,7 +347,19 @@ "@type": "title" }, "9ebd0467-ee7d-4849-a7c9-63a135634db5": { - "@type": "slate" + "@type": "slate", + "plaintext": "", + "styles": {}, + "value": [ + { + "children": [ + { + "text": "" + } + ], + "type": "p" + } + ] } }, "blocks_layout": { @@ -111,7 +390,7 @@ "locked": false, "stealable": true }, - "modified": "2025-01-30T23:12:12+00:00", + "modified": "2025-02-28T02:18:46+00:00", "preview_caption": null, "preview_image": null, "review_state": "published", diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/28be0c28818647be98201618302a142c/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/28be0c28818647be98201618302a142c/data.json deleted file mode 100644 index b58228c..0000000 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/28be0c28818647be98201618302a142c/data.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "@id": "/patrocine/diamante", - "@type": "SponsorLevel", - "UID": "28be0c28818647be98201618302a142c", - "allow_discussion": null, - "blocks": { - "3f2e0881-669d-4956-82d4-ed1514ff9ab6": { - "@type": "slate" - }, - "5405a3a6-bd66-4759-ae1f-e834469fd335": { - "@type": "description" - }, - "87f09d19-32f8-4f7e-8ed2-9a9130ad6b49": { - "@type": "title" - } - }, - "blocks_layout": { - "items": [ - "87f09d19-32f8-4f7e-8ed2-9a9130ad6b49", - "5405a3a6-bd66-4759-ae1f-e834469fd335", - "3f2e0881-669d-4956-82d4-ed1514ff9ab6" - ] - }, - "contributors": [], - "created": "2024-10-21T00:29:26+00:00", - "creators": [ - "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629" - ], - "description": "Cota diamante da PythonBrasil 2025", - "display_frontpage": false, - "effective": null, - "exclude_from_nav": false, - "expires": null, - "exportimport.constrains": {}, - "exportimport.conversation": [], - "id": "diamante", - "is_folderish": true, - "language": "##DEFAULT##", - "layout": "view", - "lock": {}, - "modified": "2025-01-30T21:54:34+00:00", - "nav_title": null, - "preview_caption": null, - "preview_image": { - "blob_path": "28be0c28818647be98201618302a142c/preview_image/diamante.png", - "content-type": "image/png", - "filename": "diamante.png", - "height": 900, - "size": 519326, - "width": 1600 - }, - "review_state": "private", - "rights": "", - "subjects": [], - "title": "Diamante", - "type_title": "Sponsorship Level", - "version": "current", - "workflow_history": { - "simple_publication_workflow": [ - { - "action": null, - "actor": "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629", - "comments": "", - "review_state": "private", - "time": "2024-10-21T00:29:27+00:00" - } - ] - }, - "working_copy": null, - "working_copy_of": null -} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/28be0c28818647be98201618302a142c/preview_image/diamante.png b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/28be0c28818647be98201618302a142c/preview_image/diamante.png deleted file mode 100644 index 3ea0e4d..0000000 Binary files a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/28be0c28818647be98201618302a142c/preview_image/diamante.png and /dev/null differ diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/315a2084d7dd400584a2d47cf87b1c89/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/315a2084d7dd400584a2d47cf87b1c89/data.json new file mode 100644 index 0000000..a4768f0 --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/315a2084d7dd400584a2d47cf87b1c89/data.json @@ -0,0 +1,163 @@ +{ + "@id": "/agenda", + "@type": "Schedule", + "UID": "315a2084d7dd400584a2d47cf87b1c89", + "allow_discussion": null, + "blocks": { + "0919ff75-2480-4e88-a70f-e882c8f6417d": { + "@type": "gridBlock", + "blocks": { + "993f8a1c-5b7e-4904-b7d1-be62764b83fe": { + "@type": "teaser", + "description": "As palestras ser\u00e3o realizadas no Centro de Evento S\u00e3o Luiz, na regi\u00e3o da Avenida Paulista", + "head_title": null, + "href": [ + { + "@id": "../resolveuid/ad3efc4190bd4ac6b1cc077751d473f0", + "@type": "Venue", + "Description": "As palestras ser\u00e3o realizadas no Centro de Evento S\u00e3o Luiz, na regi\u00e3o da Avenida Paulista", + "Subject": [], + "Title": "Centro de Eventos S\u00e3o Lu\u00eds", + "description": "As palestras ser\u00e3o realizadas no Centro de Evento S\u00e3o Luiz, na regi\u00e3o da Avenida Paulista", + "effective": "2025-06-17T22:41:12+00:00", + "end": null, + "getObjSize": "0 KB", + "getRemoteUrl": null, + "hasPreviewImage": null, + "head_title": null, + "image_field": "preview_image_link", + "mime_type": "text/plain", + "nav_title": null, + "review_state": "published", + "start": null, + "title": "Centro de Eventos S\u00e3o Lu\u00eds", + "type_title": "Local" + } + ], + "overwrite": true, + "styles": { + "align": "left" + }, + "title": "Centro de Eventos S\u00e3o Lu\u00eds" + } + }, + "blocks_layout": { + "items": [ + "993f8a1c-5b7e-4904-b7d1-be62764b83fe" + ] + }, + "headline": "Local", + "styles": {}, + "theme": "grey" + }, + "2db27e83-e9ac-4fc5-a2cd-017c16c49a55": { + "@type": "slate", + "plaintext": "Entre os dias 21 a 23 teremos os tutoriais. Tutoriais s\u00e3o mini cursos pr\u00e1ticos ministrados pela comunidade Entre os dias 24 a 26 teremos o evento principal com palestras dadas pela comunidade No dia 27 teremos as sprints. Sprints s\u00e3o atividades em conjunto para a contribui\u00e7\u00e3o em reposit\u00f3rios de c\u00f3digo aberto", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "children": [ + { + "text": "Entre os dias 21 a 23 teremos os tutoriais. Tutoriais s\u00e3o mini cursos pr\u00e1ticos ministrados pela comunidade" + } + ], + "type": "li" + }, + { + "children": [ + { + "text": "Entre os dias 24 a 26 teremos o evento principal com palestras dadas pela comunidade" + } + ], + "type": "li" + }, + { + "children": [ + { + "text": "No dia 27 teremos as sprints. Sprints s\u00e3o atividades em conjunto para a contribui\u00e7\u00e3o em reposit\u00f3rios de c\u00f3digo aberto" + } + ], + "type": "li" + } + ], + "type": "ol" + } + ] + }, + "4f0520a7-e000-42c9-9015-59d8acd3fbbf": { + "@type": "slate" + }, + "6ce877c3-00bd-44d2-8578-d53f55986ead": { + "@type": "slate", + "plaintext": "A divis\u00e3o de atividades vai ser:", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "A divis\u00e3o de atividades vai ser:" + } + ], + "type": "p" + } + ] + }, + "b9554437-b1a0-4867-be7b-084d79082326": { + "@type": "description" + }, + "ba566acc-ff6e-41fa-8f59-2153b5417eb4": { + "@type": "title" + } + }, + "blocks_layout": { + "items": [ + "ba566acc-ff6e-41fa-8f59-2153b5417eb4", + "b9554437-b1a0-4867-be7b-084d79082326", + "6ce877c3-00bd-44d2-8578-d53f55986ead", + "2db27e83-e9ac-4fc5-a2cd-017c16c49a55", + "0919ff75-2480-4e88-a70f-e882c8f6417d", + "4f0520a7-e000-42c9-9015-59d8acd3fbbf" + ] + }, + "created": "2025-06-17T22:51:41+00:00", + "description": "Entre 21 e 27 de outubro, S\u00e3o Paulo receber\u00e1 a Python Brasil", + "exclude_from_nav": false, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "agenda", + "is_folderish": true, + "language": "##DEFAULT##", + "layout": "view", + "lock": {}, + "modified": "2025-06-17T22:53:25+00:00", + "nav_title": null, + "preview_caption_link": null, + "review_state": "published", + "title": "Agenda", + "type_title": "Schedule", + "version": "current", + "workflow_history": { + "simple_publication_workflow": [ + { + "action": null, + "actor": "admin", + "comments": "", + "review_state": "private", + "time": "2025-06-17T22:51:41+00:00" + }, + { + "action": "publish", + "actor": "admin", + "comments": "", + "review_state": "published", + "time": "2025-06-17T22:53:25+00:00" + } + ] + }, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/3ae5a29af55148b2a69e2997155775ce/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/3ae5a29af55148b2a69e2997155775ce/data.json new file mode 100644 index 0000000..cd2d941 --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/3ae5a29af55148b2a69e2997155775ce/data.json @@ -0,0 +1,40 @@ +{ + "@id": "/images/sponsor-02-ouro.png", + "@type": "Image", + "UID": "3ae5a29af55148b2a69e2997155775ce", + "allow_discussion": null, + "contributors": [], + "created": "2025-06-16T19:30:41+00:00", + "creators": [ + "admin" + ], + "description": "", + "effective": null, + "exclude_from_nav": false, + "expires": null, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "sponsor-02-ouro.png", + "image": { + "blob_path": "3ae5a29af55148b2a69e2997155775ce/image/sponsor-02-ouro.png", + "content-type": "image/png", + "filename": "sponsor-02-ouro.png", + "height": 1080, + "size": 1642842, + "width": 1920 + }, + "is_folderish": false, + "language": "##DEFAULT##", + "layout": "image_view", + "lock": {}, + "modified": "2025-06-16T19:30:41+00:00", + "review_state": null, + "rights": "", + "subjects": [], + "title": "sponsor-02-ouro.png", + "type_title": "Image", + "version": "current", + "workflow_history": {}, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/3ae5a29af55148b2a69e2997155775ce/image/sponsor-02-ouro.png b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/3ae5a29af55148b2a69e2997155775ce/image/sponsor-02-ouro.png new file mode 100644 index 0000000..a1f1750 Binary files /dev/null and b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/3ae5a29af55148b2a69e2997155775ce/image/sponsor-02-ouro.png differ diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/4134ad329fa64a24863c48291a9f5668/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/4134ad329fa64a24863c48291a9f5668/data.json new file mode 100644 index 0000000..9d1a29b --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/4134ad329fa64a24863c48291a9f5668/data.json @@ -0,0 +1,79 @@ +{ + "@id": "/patrocine/bronze/simples-consultoria", + "@type": "Sponsor", + "UID": "4134ad329fa64a24863c48291a9f5668", + "allow_discussion": null, + "created": "2025-06-16T19:47:52+00:00", + "description": "Apoiando as comunidade Python e Plone desde 2004", + "exclude_from_nav": false, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "simples-consultoria", + "image": { + "blob_path": "4134ad329fa64a24863c48291a9f5668/image/simples.png", + "content-type": "image/png", + "filename": "simples.png", + "height": 768, + "size": 48023, + "width": 1024 + }, + "image_caption": null, + "is_folderish": true, + "language": "##DEFAULT##", + "layout": "view", + "lock": {}, + "modified": "2025-06-16T19:47:56+00:00", + "review_state": "published", + "social_links": [ + { + "@id": "a251bfcc-7e2f-4d1a-a17c-105293953b67", + "href": [ + { + "@id": "https://simplesconsultoria.com.br/", + "title": "simplesconsultoria.com.br/" + } + ], + "id": "website", + "title": "Site" + }, + { + "@id": "0b666b77-1bd6-405a-afe3-6398eb4d1a25", + "href": [ + { + "@id": "https://github.com/simplesconsultoria", + "title": "github.com/simplesconsultoria" + } + ], + "id": "github", + "title": "GitHub" + } + ], + "text": { + "content-type": "text/html", + "data": "

A Simples Consultoria \u00e9 especializada em consultoria Python e Plone.

", + "encoding": "utf8" + }, + "title": "Simples Consultoria", + "type_title": "Sponsor", + "version": "current", + "workflow_history": { + "simple_publication_workflow": [ + { + "action": null, + "actor": "admin", + "comments": "", + "review_state": "private", + "time": "2025-06-16T19:47:52+00:00" + }, + { + "action": "publish", + "actor": "admin", + "comments": "", + "review_state": "published", + "time": "2025-06-16T19:47:56+00:00" + } + ] + }, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/4134ad329fa64a24863c48291a9f5668/image/simples.png b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/4134ad329fa64a24863c48291a9f5668/image/simples.png new file mode 100644 index 0000000..60f9837 Binary files /dev/null and b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/4134ad329fa64a24863c48291a9f5668/image/simples.png differ diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/573e6d9f0eca43b3a8b838c29a1c0053/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/573e6d9f0eca43b3a8b838c29a1c0053/data.json deleted file mode 100644 index 6a2c21e..0000000 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/573e6d9f0eca43b3a8b838c29a1c0053/data.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "@id": "/patrocine/bronze", - "@type": "SponsorLevel", - "UID": "573e6d9f0eca43b3a8b838c29a1c0053", - "allow_discussion": null, - "blocks": { - "002ece3d-6612-4113-93ef-d9c3cef3eec8": { - "@type": "slate", - "plaintext": "", - "styles": {}, - "value": [ - { - "children": [ - { - "text": "" - } - ], - "type": "p" - } - ] - }, - "64c86094-d931-4630-9716-526e24ad4cd9": { - "@type": "description" - }, - "e06184fc-0bf9-4baa-8fc5-178123c47ed5": { - "@type": "title" - } - }, - "blocks_layout": { - "items": [ - "e06184fc-0bf9-4baa-8fc5-178123c47ed5", - "64c86094-d931-4630-9716-526e24ad4cd9", - "002ece3d-6612-4113-93ef-d9c3cef3eec8" - ] - }, - "contributors": [], - "created": "2025-01-30T21:49:34+00:00", - "creators": [ - "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629" - ], - "description": "Patrocine o evento, conquiste seu espa\u00e7o e interaja com a comunidade ", - "display_frontpage": false, - "effective": null, - "exclude_from_nav": false, - "expires": null, - "exportimport.constrains": {}, - "exportimport.conversation": [], - "id": "bronze", - "is_folderish": true, - "language": "##DEFAULT##", - "layout": "view", - "lock": {}, - "modified": "2025-01-30T21:55:13+00:00", - "nav_title": null, - "preview_caption": null, - "preview_image": { - "blob_path": "573e6d9f0eca43b3a8b838c29a1c0053/preview_image/bronze.png", - "content-type": "image/png", - "filename": "bronze.png", - "height": 900, - "size": 466642, - "width": 1600 - }, - "review_state": "private", - "rights": "", - "subjects": [], - "title": "Bronze", - "type_title": "Sponsorship Level", - "version": "current", - "workflow_history": { - "simple_publication_workflow": [ - { - "action": null, - "actor": "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629", - "comments": "", - "review_state": "private", - "time": "2025-01-30T21:49:34+00:00" - } - ] - }, - "working_copy": null, - "working_copy_of": null -} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/573e6d9f0eca43b3a8b838c29a1c0053/preview_image/bronze.png b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/573e6d9f0eca43b3a8b838c29a1c0053/preview_image/bronze.png deleted file mode 100644 index 26d57d1..0000000 Binary files a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/573e6d9f0eca43b3a8b838c29a1c0053/preview_image/bronze.png and /dev/null differ diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/747b642b7b444a9ca08fcabd50a702c8/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/747b642b7b444a9ca08fcabd50a702c8/data.json new file mode 100644 index 0000000..c7c0239 --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/747b642b7b444a9ca08fcabd50a702c8/data.json @@ -0,0 +1,40 @@ +{ + "@id": "/images/sponsor-03-prata.png", + "@type": "Image", + "UID": "747b642b7b444a9ca08fcabd50a702c8", + "allow_discussion": null, + "contributors": [], + "created": "2025-06-16T19:30:40+00:00", + "creators": [ + "admin" + ], + "description": "", + "effective": null, + "exclude_from_nav": false, + "expires": null, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "sponsor-03-prata.png", + "image": { + "blob_path": "747b642b7b444a9ca08fcabd50a702c8/image/sponsor-03-prata.png", + "content-type": "image/png", + "filename": "sponsor-03-prata.png", + "height": 1080, + "size": 1385575, + "width": 1920 + }, + "is_folderish": false, + "language": "##DEFAULT##", + "layout": "image_view", + "lock": {}, + "modified": "2025-06-16T19:30:40+00:00", + "review_state": null, + "rights": "", + "subjects": [], + "title": "sponsor-03-prata.png", + "type_title": "Image", + "version": "current", + "workflow_history": {}, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/747b642b7b444a9ca08fcabd50a702c8/image/sponsor-03-prata.png b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/747b642b7b444a9ca08fcabd50a702c8/image/sponsor-03-prata.png new file mode 100644 index 0000000..75d296c Binary files /dev/null and b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/747b642b7b444a9ca08fcabd50a702c8/image/sponsor-03-prata.png differ diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/75b28d31bea949fcae586531699f0f88/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/75b28d31bea949fcae586531699f0f88/data.json new file mode 100644 index 0000000..a8affb2 --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/75b28d31bea949fcae586531699f0f88/data.json @@ -0,0 +1,40 @@ +{ + "@id": "/images/sao-luiz.jpeg", + "@type": "Image", + "UID": "75b28d31bea949fcae586531699f0f88", + "allow_discussion": null, + "contributors": [], + "created": "2025-06-17T22:42:55+00:00", + "creators": [ + "admin" + ], + "description": "", + "effective": null, + "exclude_from_nav": false, + "expires": null, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "sao-luiz.jpeg", + "image": { + "blob_path": "75b28d31bea949fcae586531699f0f88/image/sao-luiz.jpeg", + "content-type": "image/jpeg", + "filename": "sao-luiz.jpeg", + "height": 808, + "size": 282488, + "width": 1339 + }, + "is_folderish": false, + "language": "##DEFAULT##", + "layout": "image_view", + "lock": {}, + "modified": "2025-06-17T22:42:55+00:00", + "review_state": null, + "rights": "", + "subjects": [], + "title": "sao-luiz.jpeg", + "type_title": "Image", + "version": "current", + "workflow_history": {}, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/75b28d31bea949fcae586531699f0f88/image/sao-luiz.jpeg b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/75b28d31bea949fcae586531699f0f88/image/sao-luiz.jpeg new file mode 100644 index 0000000..d880607 Binary files /dev/null and b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/75b28d31bea949fcae586531699f0f88/image/sao-luiz.jpeg differ diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/76b343b1ca41450db2728865ca5d459b/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/76b343b1ca41450db2728865ca5d459b/data.json deleted file mode 100644 index a49026b..0000000 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/76b343b1ca41450db2728865ca5d459b/data.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "@id": "/patrocine/prata", - "@type": "SponsorLevel", - "UID": "76b343b1ca41450db2728865ca5d459b", - "allow_discussion": null, - "blocks": { - "2069887d-f202-4a3b-9148-83a37666f71d": { - "@type": "description" - }, - "373d7d21-2950-4b7c-852a-1b16775d0ff8": { - "@type": "title" - }, - "52b4994b-8a2e-47d7-b01c-754e0e089de2": { - "@type": "slate" - } - }, - "blocks_layout": { - "items": [ - "373d7d21-2950-4b7c-852a-1b16775d0ff8", - "2069887d-f202-4a3b-9148-83a37666f71d", - "52b4994b-8a2e-47d7-b01c-754e0e089de2" - ] - }, - "contributors": [], - "created": "2024-10-21T00:30:23+00:00", - "creators": [ - "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629" - ], - "description": "Cota prata da PythonBrasil 2025", - "display_frontpage": false, - "effective": null, - "exclude_from_nav": false, - "expires": null, - "exportimport.constrains": {}, - "exportimport.conversation": [], - "id": "prata", - "is_folderish": true, - "language": "##DEFAULT##", - "layout": "view", - "lock": {}, - "modified": "2025-01-30T21:55:01+00:00", - "nav_title": null, - "preview_caption": null, - "preview_image": { - "blob_path": "76b343b1ca41450db2728865ca5d459b/preview_image/prata.png", - "content-type": "image/png", - "filename": "prata.png", - "height": 900, - "size": 512770, - "width": 1600 - }, - "review_state": "private", - "rights": "", - "subjects": [], - "title": "Prata", - "type_title": "Sponsorship Level", - "version": "current", - "workflow_history": { - "simple_publication_workflow": [ - { - "action": null, - "actor": "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629", - "comments": "", - "review_state": "private", - "time": "2024-10-21T00:30:23+00:00" - } - ] - }, - "working_copy": null, - "working_copy_of": null -} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/76b343b1ca41450db2728865ca5d459b/preview_image/prata.png b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/76b343b1ca41450db2728865ca5d459b/preview_image/prata.png deleted file mode 100644 index 0e1791d..0000000 Binary files a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/76b343b1ca41450db2728865ca5d459b/preview_image/prata.png and /dev/null differ diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/818ea1c0827944c394330a1c3d658866/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/818ea1c0827944c394330a1c3d658866/data.json deleted file mode 100644 index 8e2ee5a..0000000 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/818ea1c0827944c394330a1c3d658866/data.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "@id": "/patrocine", - "@type": "SponsorsDB", - "UID": "818ea1c0827944c394330a1c3d658866", - "allow_discussion": null, - "blocks": { - "0f0131a3-a98d-429e-9d6b-a1002be4f529": { - "@type": "title" - }, - "6fab02e8-5ef5-4fe5-a038-264682e9e84b": { - "@type": "slate" - }, - "a7e78dfc-7a34-40fb-a6f4-13509b2b9177": { - "@type": "gridBlock", - "blocks": { - "9a1b36c6-57bd-406d-9982-3f8a16929fdc": { - "@type": "__button", - "href": [ - { - "@id": "https://www.canva.com/design/DAGXPOZVdD0/9BKeLRxlSyHevEtM1TXDJQ/view?utm_content=DAGXPOZVdD0&utm_campaign=designshare&utm_medium=link2&utm_source=uniquelinks&utlId=h6c1ffd66be", - "title": "www.canva.com/design/DAGXPOZVdD0/9BKeLRxlSyHevEtM1TXDJQ/view?utm_content=DAGXPOZVdD0&utm_campaign=designshare&utm_medium=link2&utm_source=uniquelinks&utlId=h6c1ffd66be" - } - ], - "inneralign": "center", - "styles": { - "buttonAlign": "center" - }, - "title": "Plano de patroc\u00ednio" - } - }, - "blocks_layout": { - "items": [ - "9a1b36c6-57bd-406d-9982-3f8a16929fdc" - ] - }, - "styles": {} - }, - "afc606a1-3620-46d1-8ad9-367ad7531ced": { - "@type": "description" - } - }, - "blocks_layout": { - "items": [ - "0f0131a3-a98d-429e-9d6b-a1002be4f529", - "afc606a1-3620-46d1-8ad9-367ad7531ced", - "a7e78dfc-7a34-40fb-a6f4-13509b2b9177", - "6fab02e8-5ef5-4fe5-a038-264682e9e84b" - ] - }, - "contributors": [], - "created": "2024-10-21T00:29:00+00:00", - "creators": [ - "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629" - ], - "description": "Sua organiza\u00e7\u00e3o pode ser parte do maior evento de Python do Brasil", - "effective": "2025-01-30T23:00:00+00:00", - "exclude_from_nav": false, - "expires": null, - "exportimport.constrains": {}, - "exportimport.conversation": [], - "id": "patrocine", - "is_folderish": true, - "language": "##DEFAULT##", - "layout": "view", - "lock": {}, - "modified": "2025-01-30T23:02:29+00:00", - "nav_title": null, - "preview_caption": null, - "preview_image": null, - "review_state": "published", - "rights": "", - "subjects": [], - "title": "Patrocine", - "type_title": "Sponsors Database", - "version": "current", - "workflow_history": { - "simple_publication_workflow": [ - { - "action": null, - "actor": "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629", - "comments": "", - "review_state": "private", - "time": "2024-10-21T00:29:00+00:00" - }, - { - "action": "publish", - "actor": "be1f8aa4-b6c8-48ef-8d37-aa4fd88a4095", - "comments": "", - "review_state": "published", - "time": "2025-01-30T23:00:43+00:00" - } - ] - }, - "working_copy": null, - "working_copy_of": null -} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/81bb6aa3c33644c296ffbc767b8c05c7/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/81bb6aa3c33644c296ffbc767b8c05c7/data.json index dc2df7c..d71fcaf 100644 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/81bb6aa3c33644c296ffbc767b8c05c7/data.json +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/81bb6aa3c33644c296ffbc767b8c05c7/data.json @@ -4,13 +4,11 @@ "UID": "81bb6aa3c33644c296ffbc767b8c05c7", "allow_discussion": null, "blocks": { - "64c5f2cd-d7d2-4ebc-af59-684adc87f2a1": { - "@type": "title" - }, - "c1c311fe-eef9-4b6b-9e48-7187d88428b3": { + "4b753790-992e-459f-babb-af0fe0add51b": { "@type": "slate", "plaintext": "", "styles": {}, + "theme": "default", "value": [ { "children": [ @@ -22,6 +20,104 @@ } ] }, + "64c5f2cd-d7d2-4ebc-af59-684adc87f2a1": { + "@type": "title" + }, + "c1c311fe-eef9-4b6b-9e48-7187d88428b3": { + "@type": "gridBlock", + "blocks": { + "00321341-af7e-4afe-bbdf-0ca1ddec5de1": { + "@type": "teaser", + "description": "Saiba como chegar aos locais das atividades da Python Brasil 2025", + "head_title": null, + "href": [ + { + "@id": "../resolveuid/ac949e0e29524a619dfb4caf015085ba", + "@type": "Document", + "Description": "Saiba como chegar aos locais das atividades da Python Brasil 2025", + "Subject": [], + "Title": "Local", + "description": "Saiba como chegar aos locais das atividades da Python Brasil 2025", + "effective": "2025-06-17T22:44:53+00:00", + "end": null, + "getObjSize": "0 KB", + "getRemoteUrl": null, + "hasPreviewImage": null, + "head_title": null, + "image_field": "", + "mime_type": "text/plain", + "nav_title": null, + "review_state": "published", + "start": null, + "title": "Local", + "type_title": "P\u00e1gina" + } + ], + "overwrite": true, + "preview_image": [ + { + "@id": "../resolveuid/75b28d31bea949fcae586531699f0f88", + "image_field": "image", + "title": "sao-luiz.jpeg" + } + ], + "styles": { + "align": "left" + }, + "theme": "default", + "title": "Local" + }, + "bd1460d0-3525-48a9-a0c9-5b33e3548246": { + "@type": "teaser", + "description": "Tire suas d\u00favidas sobre a Python Brasil 2025", + "head_title": null, + "href": [ + { + "@id": "../resolveuid/24689ede20f346c09ce7d50b68ff893b", + "@type": "Document", + "Description": "Tire suas d\u00favidas sobre a Python Brasil 2025", + "Subject": [], + "Title": "Perguntas Frequentes", + "description": "Tire suas d\u00favidas sobre a Python Brasil 2025", + "effective": "2025-01-30T21:38:00+00:00", + "end": null, + "getObjSize": "0 KB", + "getRemoteUrl": null, + "hasPreviewImage": null, + "head_title": null, + "image_field": "", + "mime_type": "text/plain", + "nav_title": null, + "review_state": "published", + "start": null, + "title": "Perguntas Frequentes", + "type_title": "P\u00e1gina" + } + ], + "overwrite": true, + "preview_image": [ + { + "@id": "../resolveuid/c630576df3264cb0ad7799d28f52a393", + "image_field": "image", + "title": "pybr2022-treinamento.jpg" + } + ], + "styles": { + "align": "center" + }, + "theme": "default", + "title": "Perguntas Frequentes" + } + }, + "blocks_layout": { + "items": [ + "bd1460d0-3525-48a9-a0c9-5b33e3548246", + "00321341-af7e-4afe-bbdf-0ca1ddec5de1" + ] + }, + "styles": {}, + "theme": "grey" + }, "f34f15b1-234f-45bb-ad95-50de70bfa4b3": { "@type": "description" } @@ -30,7 +126,8 @@ "items": [ "64c5f2cd-d7d2-4ebc-af59-684adc87f2a1", "f34f15b1-234f-45bb-ad95-50de70bfa4b3", - "c1c311fe-eef9-4b6b-9e48-7187d88428b3" + "c1c311fe-eef9-4b6b-9e48-7187d88428b3", + "4b753790-992e-459f-babb-af0fe0add51b" ] }, "changeNote": "", @@ -53,7 +150,7 @@ "locked": false, "stealable": true }, - "modified": "2025-01-30T22:49:04+00:00", + "modified": "2025-06-17T22:53:53+00:00", "preview_caption": null, "preview_image": null, "review_state": "published", diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/922ba8ede6da49dc850dc25a7e5061e2/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/922ba8ede6da49dc850dc25a7e5061e2/data.json new file mode 100644 index 0000000..b8efbd6 --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/922ba8ede6da49dc850dc25a7e5061e2/data.json @@ -0,0 +1,274 @@ +{ + "@id": "/patrocine/bronze", + "@type": "SponsorLevel", + "UID": "922ba8ede6da49dc850dc25a7e5061e2", + "allow_discussion": null, + "benefits": [ + { + "@id": "df857d8a-538a-44a2-aaa6-01efdf405606", + "code": { + "title": "Marca: Logo no local do evento", + "token": "62861964-c29e-4ea1-b139-90c50884a541" + }, + "id": "df857d8a-538a-44a2-aaa6-01efdf405606", + "title": "Marca: Logo no local do evento", + "value": null + }, + { + "@id": "c85d39c9-25da-41ed-9311-369f4348a71e", + "code": { + "title": "Digital: Post agradecimento em redes sociais", + "token": "b3c20966-701e-44f2-af8c-9436fd78aff7" + }, + "id": "c85d39c9-25da-41ed-9311-369f4348a71e", + "title": "Digital: Post agradecimento em redes sociais", + "value": null + }, + { + "@id": "7a7471eb-b589-4cb6-baef-42d3260840ef", + "code": { + "title": "Digital: Logo no site", + "token": "750f4e1e-17ea-44f2-8af2-655d99e28a88" + }, + "id": "7a7471eb-b589-4cb6-baef-42d3260840ef", + "title": "Digital: Logo no site", + "value": null + }, + { + "@id": "fda55874-77d6-4312-941d-10d9988a38f7", + "code": { + "title": "Intera\u00e7\u00e3o: Palco principal", + "token": "5c18f964-94bf-407c-914b-83cc0998d6d9" + }, + "id": "fda55874-77d6-4312-941d-10d9988a38f7", + "title": "Intera\u00e7\u00e3o: Palco principal", + "value": "1 minuto" + }, + { + "@id": "aa14c6ed-c2ac-4d7a-9870-0037c4660613", + "code": { + "title": "Intera\u00e7\u00e3o: Kit do participante", + "token": "f01b8239-31ff-40fd-9b66-b3c655a2bd5c" + }, + "id": "aa14c6ed-c2ac-4d7a-9870-0037c4660613", + "title": "Intera\u00e7\u00e3o: Kit do participante", + "value": null + }, + { + "@id": "fda740f5-7e26-4822-8c34-e6d11d64852e", + "code": { + "title": "Ingressos: Inclusos", + "token": "9d3be2f0-e191-49b0-85a8-ac3b05519b45" + }, + "id": "fda740f5-7e26-4822-8c34-e6d11d64852e", + "title": "Ingressos: Inclusos", + "value": "3" + }, + { + "@id": "59db41fa-968d-4f70-a435-1ab290cb8003", + "code": { + "title": "Ingressos: Desconto", + "token": "57c3f9de-d97e-4d47-abae-f6e2318c826a" + }, + "id": "59db41fa-968d-4f70-a435-1ab290cb8003", + "title": "Ingressos: Desconto", + "value": "15%" + } + ], + "blocks": { + "62cd57f3-756e-4299-8c87-5f7b3587cbc0": { + "@type": "slate" + }, + "b995026a-4040-4585-9e2d-1731cd4a00de": { + "@type": "title" + }, + "bec45a12-dae8-4762-ba24-628d39056f28": { + "@type": "sponsorLevelBlock", + "displayCTA": true, + "href": [ + { + "@id": "../../resolveuid/005d63f8dd7b41818ae3e5e2ba1f36d9", + "@type": "Document", + "Description": "Garanta a sua vaga na Python Brasil 2025", + "Title": "Patrocine agora", + "hasPreviewImage": null, + "head_title": null, + "image_field": "", + "title": "Patrocine agora" + } + ], + "label": "Patrocine tamb\u00e9m!", + "styles": { + "align:noprefix": { + "--block-alignment": "var(--align-center)" + } + }, + "title": "Patrocinadores" + }, + "cd605377-66ed-4b53-82ae-f2c6fb5bdf15": { + "@type": "accordion", + "collapsed": false, + "data": { + "blocks": { + "24ffd234-53b5-4948-ae79-1422f61c1474": { + "@type": "accordionPanel", + "blocks": { + "19994ff9-faa9-4094-ad09-cbe990bf07bf": { + "@type": "slate", + "plaintext": "Sua logo aparecer\u00e1 em toda identidade visual no local do evento: banners, pain\u00e9is de foto, salas de palestra, v\u00eddeos exibidos nos intervalos de atividades!", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Sua logo aparecer\u00e1 em toda identidade visual no local do evento: banners, pain\u00e9is de foto, salas de palestra, v\u00eddeos exibidos nos intervalos de atividades!" + } + ], + "type": "p" + } + ] + } + }, + "blocks_layout": { + "items": [ + "19994ff9-faa9-4094-ad09-cbe990bf07bf" + ] + }, + "title": "Conquistando espa\u00e7o" + }, + "49f25694-881e-4102-a036-a16159690900": { + "@type": "accordionPanel", + "blocks": { + "aaa9f9eb-3c43-41cc-a80a-171551c8ced2": { + "@type": "slate", + "plaintext": "Sua marca ser\u00e1 exibida nos intervalos das lives, no site do evento e ser\u00e1 divulgada nos posts de apresenta\u00e7\u00e3o e agradecimento de patrocinador", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Sua marca ser\u00e1 exibida nos intervalos das lives, no site do evento e ser\u00e1 divulgada nos posts de apresenta\u00e7\u00e3o e agradecimento de patrocinador" + } + ], + "type": "p" + } + ] + } + }, + "blocks_layout": { + "items": [ + "aaa9f9eb-3c43-41cc-a80a-171551c8ced2" + ] + }, + "title": "Chegando longe" + }, + "513b0dbf-b5ed-4b07-bca5-14946a0d25c4": { + "@type": "accordionPanel", + "blocks": { + "1432010b-240c-4990-b2d2-6a96154e74b9": { + "@type": "slate", + "plaintext": "Voc\u00ea pode adicionar brindes na sacola dos participantes para divulgar sua marca e ter\u00e1 um tempo limitado no palco, sob os holofotes!", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Voc\u00ea pode adicionar brindes na sacola dos participantes para divulgar sua marca e ter\u00e1 um tempo limitado no palco, sob os holofotes!" + } + ], + "type": "p" + } + ] + } + }, + "blocks_layout": { + "items": [ + "1432010b-240c-4990-b2d2-6a96154e74b9" + ] + }, + "title": "Interagindo com a comunidade" + }, + "642211c7-c318-4a76-9cca-4d998f0e790c": { + "@type": "accordionPanel", + "blocks": { + "0957ef69-8300-45f8-ba00-47a8e4f832bc": { + "@type": "levelBenefitsBlock", + "tableTitle": "Compare", + "title": " " + } + }, + "blocks_layout": { + "items": [ + "0957ef69-8300-45f8-ba00-47a8e4f832bc" + ] + }, + "title": "Todos os Benef\u00edcios" + } + }, + "blocks_layout": { + "items": [ + "24ffd234-53b5-4948-ae79-1422f61c1474", + "49f25694-881e-4102-a036-a16159690900", + "513b0dbf-b5ed-4b07-bca5-14946a0d25c4", + "642211c7-c318-4a76-9cca-4d998f0e790c" + ] + } + }, + "filtering": false, + "non_exclusive": false, + "right_arrows": true, + "styles": {}, + "theme": "red" + } + }, + "blocks_layout": { + "items": [ + "b995026a-4040-4585-9e2d-1731cd4a00de", + "cd605377-66ed-4b53-82ae-f2c6fb5bdf15", + "bec45a12-dae8-4762-ba24-628d39056f28", + "62cd57f3-756e-4299-8c87-5f7b3587cbc0" + ] + }, + "color": "#000000", + "created": "2025-06-16T19:14:21+00:00", + "description": "Conquistando espa\u00e7o", + "exclude_from_nav": false, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "bronze", + "is_folderish": true, + "language": "##DEFAULT##", + "layout": "view", + "lock": {}, + "modified": "2025-06-17T20:39:22+00:00", + "nav_title": null, + "preview_caption_link": null, + "price": "R$10.000,00", + "review_state": "published", + "title": "Bronze", + "type_title": "Sponsorship Level", + "version": "current", + "workflow_history": { + "simple_publication_workflow": [ + { + "action": null, + "actor": "admin", + "comments": "", + "review_state": "private", + "time": "2025-06-16T19:14:21+00:00" + }, + { + "action": "publish", + "actor": "admin", + "comments": "", + "review_state": "published", + "time": "2025-06-16T19:20:41+00:00" + } + ] + }, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/96fdfa7c97784194b9f4cd0f0819e7f1/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/96fdfa7c97784194b9f4cd0f0819e7f1/data.json deleted file mode 100644 index 8628d29..0000000 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/96fdfa7c97784194b9f4cd0f0819e7f1/data.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "@id": "/patrocine/platina", - "@type": "SponsorLevel", - "UID": "96fdfa7c97784194b9f4cd0f0819e7f1", - "allow_discussion": null, - "blocks": { - "08b3d90f-e87e-406b-88b0-e0e80d3f294f": { - "@type": "title" - }, - "43844faa-68c5-4c52-b085-133600ac83b4": { - "@type": "slate" - }, - "e9f040ac-74ea-4ebb-9c07-f80940f689b1": { - "@type": "description" - } - }, - "blocks_layout": { - "items": [ - "08b3d90f-e87e-406b-88b0-e0e80d3f294f", - "e9f040ac-74ea-4ebb-9c07-f80940f689b1", - "43844faa-68c5-4c52-b085-133600ac83b4" - ] - }, - "contributors": [], - "created": "2024-10-21T00:29:50+00:00", - "creators": [ - "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629" - ], - "description": "Cota platina da PythonBrasil 2025", - "display_frontpage": false, - "effective": null, - "exclude_from_nav": false, - "expires": null, - "exportimport.constrains": {}, - "exportimport.conversation": [], - "id": "platina", - "is_folderish": true, - "language": "##DEFAULT##", - "layout": "view", - "lock": {}, - "modified": "2025-01-30T21:52:07+00:00", - "nav_title": null, - "preview_caption": null, - "preview_image": { - "blob_path": "96fdfa7c97784194b9f4cd0f0819e7f1/preview_image/platina.png", - "content-type": "image/png", - "filename": "platina.png", - "height": 900, - "size": 618366, - "width": 1600 - }, - "review_state": "private", - "rights": "", - "subjects": [], - "title": "Platina", - "type_title": "Sponsorship Level", - "version": "current", - "workflow_history": { - "simple_publication_workflow": [ - { - "action": null, - "actor": "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629", - "comments": "", - "review_state": "private", - "time": "2024-10-21T00:29:50+00:00" - } - ] - }, - "working_copy": null, - "working_copy_of": null -} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/96fdfa7c97784194b9f4cd0f0819e7f1/preview_image/platina.png b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/96fdfa7c97784194b9f4cd0f0819e7f1/preview_image/platina.png deleted file mode 100644 index de91600..0000000 Binary files a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/96fdfa7c97784194b9f4cd0f0819e7f1/preview_image/platina.png and /dev/null differ diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/__metadata__.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/__metadata__.json index d2948e7..2dce9ce 100644 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/__metadata__.json +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/__metadata__.json @@ -1,7 +1,6 @@ { "__version__": "1.0.0", "_blob_files_": [ - "fa4f3a56ff634ab7a5ebb1f106126dfd/file/2025-pythonbrasil-patrocinio.pdf", "0d05308db57c450da4ae80e8a3c47ece/image/logo-slim.svg", "8077308bcd7c43f88a5055932ec3cc6b/image/logo-splash.png", "2f992ae440894d7191a24d75d669de4a/image/logo.svg", @@ -9,20 +8,23 @@ "6fef01c46be34684bb42ac0e4d990a2f/image/pybr2022-plateia.jpg", "c630576df3264cb0ad7799d28f52a393/image/pybr2022-treinamento.jpg", "c2d0e0645016413f9e5d719b628fb72d/image/pybr2024.jpg", - "573e6d9f0eca43b3a8b838c29a1c0053/preview_image/bronze.png", - "28be0c28818647be98201618302a142c/preview_image/diamante.png", - "f9db2eccb58a4e9eb32b43708a0ebc0a/preview_image/ouro.png", - "96fdfa7c97784194b9f4cd0f0819e7f1/preview_image/platina.png", - "76b343b1ca41450db2728865ca5d459b/preview_image/prata.png" + "c8e59c9637414aeb957e5d8eb7625648/image/apyb.png", + "e04f2f42f76d4742a4c8d648339ca6b9/image/sponsor-01-platina.png", + "bb8dcc0085c64d9cbc2757a4df392701/image/sponsor-04-bronze.png", + "747b642b7b444a9ca08fcabd50a702c8/image/sponsor-03-prata.png", + "3ae5a29af55148b2a69e2997155775ce/image/sponsor-02-ouro.png", + "4134ad329fa64a24863c48291a9f5668/image/simples.png", + "75b28d31bea949fcae586531699f0f88/image/sao-luiz.jpeg" ], "_data_files_": [ "plone_site_root/data.json", - "fa4f3a56ff634ab7a5ebb1f106126dfd/data.json", - "b1279249bca341d78e0762bc2a12094f/data.json", + "315a2084d7dd400584a2d47cf87b1c89/data.json", "81bb6aa3c33644c296ffbc767b8c05c7/data.json", "52e0e3e2d1564eca97eb22eae2fbebbf/data.json", "f17ec2cb79cf4a75896ce3a6b5bc8f54/data.json", "1e6a267195ba41459ce3a869ac4714f6/data.json", + "ac949e0e29524a619dfb4caf015085ba/data.json", + "ad3efc4190bd4ac6b1cc077751d473f0/data.json", "24689ede20f346c09ce7d50b68ff893b/data.json", "aba03e63fe93484685256445d8e4f646/data.json", "a720393b3c0240e5bd27c43fcd2cfd1e/data.json", @@ -33,39 +35,56 @@ "6fef01c46be34684bb42ac0e4d990a2f/data.json", "c630576df3264cb0ad7799d28f52a393/data.json", "c2d0e0645016413f9e5d719b628fb72d/data.json", + "75b28d31bea949fcae586531699f0f88/data.json", + "e04f2f42f76d4742a4c8d648339ca6b9/data.json", + "3ae5a29af55148b2a69e2997155775ce/data.json", + "747b642b7b444a9ca08fcabd50a702c8/data.json", + "bb8dcc0085c64d9cbc2757a4df392701/data.json", "64ae8a06559f4255b20152220da6fba3/data.json", - "818ea1c0827944c394330a1c3d658866/data.json", - "573e6d9f0eca43b3a8b838c29a1c0053/data.json", - "28be0c28818647be98201618302a142c/data.json", - "f9db2eccb58a4e9eb32b43708a0ebc0a/data.json", - "96fdfa7c97784194b9f4cd0f0819e7f1/data.json", - "76b343b1ca41450db2728865ca5d459b/data.json" + "17000670d687482992d5a85fdb1f82e6/data.json", + "922ba8ede6da49dc850dc25a7e5061e2/data.json", + "4134ad329fa64a24863c48291a9f5668/data.json", + "092354832f23462aa392f34597ce4d39/data.json", + "c8e59c9637414aeb957e5d8eb7625648/data.json", + "cc193578bdf2480c8274e682b06dbfb9/data.json", + "005d63f8dd7b41818ae3e5e2ba1f36d9/data.json", + "de070eedcb854959a6a4be4d87c083e3/data.json", + "0b7437380fe441aa8673ceaa662e92c5/data.json" ], "default_page": {}, "local_permissions": { + "005d63f8dd7b41818ae3e5e2ba1f36d9": {}, "03e3d75a791d4fa98378626ba8f62d07": {}, + "092354832f23462aa392f34597ce4d39": {}, + "0b7437380fe441aa8673ceaa662e92c5": {}, "0d05308db57c450da4ae80e8a3c47ece": {}, + "17000670d687482992d5a85fdb1f82e6": {}, "1e6a267195ba41459ce3a869ac4714f6": {}, "24689ede20f346c09ce7d50b68ff893b": {}, - "28be0c28818647be98201618302a142c": {}, "2f992ae440894d7191a24d75d669de4a": {}, + "315a2084d7dd400584a2d47cf87b1c89": {}, + "3ae5a29af55148b2a69e2997155775ce": {}, + "4134ad329fa64a24863c48291a9f5668": {}, "52e0e3e2d1564eca97eb22eae2fbebbf": {}, - "573e6d9f0eca43b3a8b838c29a1c0053": {}, "64ae8a06559f4255b20152220da6fba3": {}, "6fef01c46be34684bb42ac0e4d990a2f": {}, - "76b343b1ca41450db2728865ca5d459b": {}, + "747b642b7b444a9ca08fcabd50a702c8": {}, + "75b28d31bea949fcae586531699f0f88": {}, "8077308bcd7c43f88a5055932ec3cc6b": {}, - "818ea1c0827944c394330a1c3d658866": {}, "81bb6aa3c33644c296ffbc767b8c05c7": {}, - "96fdfa7c97784194b9f4cd0f0819e7f1": {}, + "922ba8ede6da49dc850dc25a7e5061e2": {}, "a720393b3c0240e5bd27c43fcd2cfd1e": {}, "aba03e63fe93484685256445d8e4f646": {}, - "b1279249bca341d78e0762bc2a12094f": {}, + "ac949e0e29524a619dfb4caf015085ba": {}, + "ad3efc4190bd4ac6b1cc077751d473f0": {}, + "bb8dcc0085c64d9cbc2757a4df392701": {}, "c2d0e0645016413f9e5d719b628fb72d": {}, "c630576df3264cb0ad7799d28f52a393": {}, + "c8e59c9637414aeb957e5d8eb7625648": {}, + "cc193578bdf2480c8274e682b06dbfb9": {}, + "de070eedcb854959a6a4be4d87c083e3": {}, + "e04f2f42f76d4742a4c8d648339ca6b9": {}, "f17ec2cb79cf4a75896ce3a6b5bc8f54": {}, - "f9db2eccb58a4e9eb32b43708a0ebc0a": {}, - "fa4f3a56ff634ab7a5ebb1f106126dfd": {}, "plone_site_root": { "Add portal member": { "acquire": false, @@ -119,6 +138,10 @@ "Authenticated" ] }, + "collective.techevent: Add SponsorsDB": { + "acquire": false, + "roles": [] + }, "plone.resource: Export ZIP file": { "acquire": false, "roles": [ @@ -135,6 +158,13 @@ } }, "local_roles": { + "005d63f8dd7b41818ae3e5e2ba1f36d9": { + "local_roles": { + "admin": [ + "Owner" + ] + } + }, "03e3d75a791d4fa98378626ba8f62d07": { "local_roles": { "admin": [ @@ -142,6 +172,20 @@ ] } }, + "092354832f23462aa392f34597ce4d39": { + "local_roles": { + "admin": [ + "Owner" + ] + } + }, + "0b7437380fe441aa8673ceaa662e92c5": { + "local_roles": { + "admin": [ + "Owner" + ] + } + }, "0d05308db57c450da4ae80e8a3c47ece": { "local_roles": { "admin": [ @@ -149,6 +193,13 @@ ] } }, + "17000670d687482992d5a85fdb1f82e6": { + "local_roles": { + "admin": [ + "Owner" + ] + } + }, "1e6a267195ba41459ce3a869ac4714f6": { "local_roles": { "admin": [ @@ -169,34 +220,35 @@ ] } }, - "28be0c28818647be98201618302a142c": { + "2f992ae440894d7191a24d75d669de4a": { "local_roles": { "admin": [ "Owner" - ], - "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629": [ - "Owner" ] } }, - "2f992ae440894d7191a24d75d669de4a": { + "315a2084d7dd400584a2d47cf87b1c89": { "local_roles": { "admin": [ "Owner" ] } }, - "52e0e3e2d1564eca97eb22eae2fbebbf": { + "3ae5a29af55148b2a69e2997155775ce": { "local_roles": { "admin": [ "Owner" - ], - "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629": [ + ] + } + }, + "4134ad329fa64a24863c48291a9f5668": { + "local_roles": { + "admin": [ "Owner" ] } }, - "573e6d9f0eca43b3a8b838c29a1c0053": { + "52e0e3e2d1564eca97eb22eae2fbebbf": { "local_roles": { "admin": [ "Owner" @@ -226,27 +278,21 @@ ] } }, - "76b343b1ca41450db2728865ca5d459b": { + "747b642b7b444a9ca08fcabd50a702c8": { "local_roles": { "admin": [ "Owner" - ], - "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629": [ - "Owner" ] } }, - "8077308bcd7c43f88a5055932ec3cc6b": { + "75b28d31bea949fcae586531699f0f88": { "local_roles": { "admin": [ "Owner" - ], - "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629": [ - "Owner" ] } }, - "818ea1c0827944c394330a1c3d658866": { + "8077308bcd7c43f88a5055932ec3cc6b": { "local_roles": { "admin": [ "Owner" @@ -266,13 +312,10 @@ ] } }, - "96fdfa7c97784194b9f4cd0f0819e7f1": { + "922ba8ede6da49dc850dc25a7e5061e2": { "local_roles": { "admin": [ "Owner" - ], - "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629": [ - "Owner" ] } }, @@ -293,12 +336,23 @@ ] } }, - "b1279249bca341d78e0762bc2a12094f": { + "ac949e0e29524a619dfb4caf015085ba": { "local_roles": { "admin": [ "Owner" - ], - "be1f8aa4-b6c8-48ef-8d37-aa4fd88a4095": [ + ] + } + }, + "ad3efc4190bd4ac6b1cc077751d473f0": { + "local_roles": { + "admin": [ + "Owner" + ] + } + }, + "bb8dcc0085c64d9cbc2757a4df392701": { + "local_roles": { + "admin": [ "Owner" ] } @@ -323,27 +377,35 @@ ] } }, - "f17ec2cb79cf4a75896ce3a6b5bc8f54": { + "c8e59c9637414aeb957e5d8eb7625648": { "local_roles": { "admin": [ "Owner" - ], - "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629": [ + ] + } + }, + "cc193578bdf2480c8274e682b06dbfb9": { + "local_roles": { + "admin": [ "Owner" ] } }, - "f9db2eccb58a4e9eb32b43708a0ebc0a": { + "de070eedcb854959a6a4be4d87c083e3": { "local_roles": { "admin": [ "Owner" - ], - "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629": [ + ] + } + }, + "e04f2f42f76d4742a4c8d648339ca6b9": { + "local_roles": { + "admin": [ "Owner" ] } }, - "fa4f3a56ff634ab7a5ebb1f106126dfd": { + "f17ec2cb79cf4a75896ce3a6b5bc8f54": { "local_roles": { "admin": [ "Owner" @@ -362,29 +424,38 @@ } }, "ordering": { + "005d63f8dd7b41818ae3e5e2ba1f36d9": 5, "03e3d75a791d4fa98378626ba8f62d07": 2, + "092354832f23462aa392f34597ce4d39": 4, + "0b7437380fe441aa8673ceaa662e92c5": 2, "0d05308db57c450da4ae80e8a3c47ece": 0, - "1e6a267195ba41459ce3a869ac4714f6": 3, - "24689ede20f346c09ce7d50b68ff893b": 2, - "28be0c28818647be98201618302a142c": 0, + "17000670d687482992d5a85fdb1f82e6": 45, + "1e6a267195ba41459ce3a869ac4714f6": 2, + "24689ede20f346c09ce7d50b68ff893b": 1, "2f992ae440894d7191a24d75d669de4a": 1, - "52e0e3e2d1564eca97eb22eae2fbebbf": 1, - "573e6d9f0eca43b3a8b838c29a1c0053": 4, + "315a2084d7dd400584a2d47cf87b1c89": 43, + "3ae5a29af55148b2a69e2997155775ce": 10, + "4134ad329fa64a24863c48291a9f5668": 0, + "52e0e3e2d1564eca97eb22eae2fbebbf": 5, "64ae8a06559f4255b20152220da6fba3": 44, "6fef01c46be34684bb42ac0e4d990a2f": 5, - "76b343b1ca41450db2728865ca5d459b": 3, + "747b642b7b444a9ca08fcabd50a702c8": 9, + "75b28d31bea949fcae586531699f0f88": 11, "8077308bcd7c43f88a5055932ec3cc6b": 3, - "818ea1c0827944c394330a1c3d658866": 45, - "81bb6aa3c33644c296ffbc767b8c05c7": 43, - "96fdfa7c97784194b9f4cd0f0819e7f1": 1, + "81bb6aa3c33644c296ffbc767b8c05c7": 42, + "922ba8ede6da49dc850dc25a7e5061e2": 3, "a720393b3c0240e5bd27c43fcd2cfd1e": 41, - "aba03e63fe93484685256445d8e4f646": 4, - "b1279249bca341d78e0762bc2a12094f": 42, + "aba03e63fe93484685256445d8e4f646": 3, + "ac949e0e29524a619dfb4caf015085ba": 0, + "ad3efc4190bd4ac6b1cc077751d473f0": 0, + "bb8dcc0085c64d9cbc2757a4df392701": 8, "c2d0e0645016413f9e5d719b628fb72d": 4, "c630576df3264cb0ad7799d28f52a393": 6, - "f17ec2cb79cf4a75896ce3a6b5bc8f54": 0, - "f9db2eccb58a4e9eb32b43708a0ebc0a": 2, - "fa4f3a56ff634ab7a5ebb1f106126dfd": 46 + "c8e59c9637414aeb957e5d8eb7625648": 0, + "cc193578bdf2480c8274e682b06dbfb9": 1, + "de070eedcb854959a6a4be4d87c083e3": 0, + "e04f2f42f76d4742a4c8d648339ca6b9": 7, + "f17ec2cb79cf4a75896ce3a6b5bc8f54": 4 }, "relations": [] } diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/a720393b3c0240e5bd27c43fcd2cfd1e/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/a720393b3c0240e5bd27c43fcd2cfd1e/data.json index 01c817f..099421b 100644 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/a720393b3c0240e5bd27c43fcd2cfd1e/data.json +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/a720393b3c0240e5bd27c43fcd2cfd1e/data.json @@ -58,7 +58,7 @@ "locked": false, "stealable": true }, - "modified": "2025-01-31T20:38:00+00:00", + "modified": "2025-06-17T22:42:55+00:00", "preview_caption": null, "preview_image": null, "review_state": "published", diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/ac949e0e29524a619dfb4caf015085ba/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/ac949e0e29524a619dfb4caf015085ba/data.json new file mode 100644 index 0000000..e4b7788 --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/ac949e0e29524a619dfb4caf015085ba/data.json @@ -0,0 +1,131 @@ +{ + "@id": "/evento/local", + "@type": "Document", + "UID": "ac949e0e29524a619dfb4caf015085ba", + "allow_discussion": null, + "blocks": { + "618a99b7-2665-4bf8-aadc-c71e7689a16a": { + "@type": "gridBlock", + "blocks": { + "c0951022-174f-4782-97bc-3d506f63dbbc": { + "@type": "teaser", + "description": "As palestras ser\u00e3o realizadas no Centro de Evento S\u00e3o Luiz, na regi\u00e3o da Avenida Paulista", + "head_title": "Palestras", + "href": [ + { + "@id": "../../resolveuid/ad3efc4190bd4ac6b1cc077751d473f0", + "@type": "Venue", + "Description": "As palestras ser\u00e3o realizadas no Centro de Evento S\u00e3o Luiz, na regi\u00e3o da Avenida Paulista", + "Title": "Centro de Eventos S\u00e3o Lu\u00eds", + "effective": "2025-06-17T22:41:12+00:00", + "end": null, + "getRemoteUrl": null, + "hasPreviewImage": null, + "head_title": null, + "image_field": "preview_image_link", + "start": null, + "title": "Centro de Eventos S\u00e3o Lu\u00eds" + } + ], + "overwrite": true, + "styles": { + "align": "center" + }, + "theme": "default", + "title": "Dias 24, 25 e 26/10" + }, + "c2aec521-21c9-4832-bb7c-7f1bc38dc6af": { + "@type": "empty" + } + }, + "blocks_layout": { + "items": [ + "c0951022-174f-4782-97bc-3d506f63dbbc", + "c2aec521-21c9-4832-bb7c-7f1bc38dc6af" + ] + }, + "styles": {}, + "theme": "grey" + }, + "6d52009f-86bc-4b55-8cb6-c9b7aa35cb9b": { + "@type": "slate", + "plaintext": "", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "" + } + ], + "type": "p" + } + ] + }, + "8d107b52-69b8-412d-9c0a-5bddebb7885e": { + "@type": "title" + }, + "fce4a358-3e0e-4a2c-8d82-dacbf091360b": { + "@type": "description" + } + }, + "blocks_layout": { + "items": [ + "8d107b52-69b8-412d-9c0a-5bddebb7885e", + "fce4a358-3e0e-4a2c-8d82-dacbf091360b", + "618a99b7-2665-4bf8-aadc-c71e7689a16a", + "6d52009f-86bc-4b55-8cb6-c9b7aa35cb9b" + ] + }, + "changeNote": "", + "contributors": [], + "created": "2025-06-17T22:38:23+00:00", + "creators": [ + "admin" + ], + "description": "Saiba como chegar aos locais das atividades da Python Brasil 2025", + "effective": "2025-06-17T22:44:53+00:00", + "exclude_from_nav": false, + "expires": null, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "local", + "is_folderish": true, + "language": "##DEFAULT##", + "layout": "document_view", + "lock": { + "locked": false, + "stealable": true + }, + "modified": "2025-06-17T22:44:53+00:00", + "preview_caption": null, + "preview_image": null, + "review_state": "published", + "rights": "", + "subjects": [], + "title": "Local", + "type_title": "Page", + "version": "current", + "versioning_enabled": true, + "workflow_history": { + "simple_publication_workflow": [ + { + "action": null, + "actor": "admin", + "comments": "", + "review_state": "private", + "time": "2025-06-17T22:38:23+00:00" + }, + { + "action": "publish", + "actor": "admin", + "comments": "", + "review_state": "published", + "time": "2025-06-17T22:44:53+00:00" + } + ] + }, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/ad3efc4190bd4ac6b1cc077751d473f0/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/ad3efc4190bd4ac6b1cc077751d473f0/data.json new file mode 100644 index 0000000..4210a6f --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/ad3efc4190bd4ac6b1cc077751d473f0/data.json @@ -0,0 +1,92 @@ +{ + "@id": "/evento/local/centro-de-eventos-sao-luis", + "@type": "Venue", + "UID": "ad3efc4190bd4ac6b1cc077751d473f0", + "allow_discussion": null, + "blocks": { + "423dbca9-917a-4b10-af2d-a9a83e18a247": { + "@type": "slate", + "plaintext": "O local de palestras ser\u00e1 no Centro de Eventos S\u00e3o Lu\u00eds no bairro da Consola\u00e7\u00e3o.", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "O local de palestras ser\u00e1 no " + }, + { + "children": [ + { + "text": "Centro de Eventos S\u00e3o Lu\u00eds" + } + ], + "type": "strong" + }, + { + "text": " no bairro da Consola\u00e7\u00e3o." + } + ], + "type": "p" + } + ] + }, + "c6125ab9-82a0-4a73-80aa-0a3c0fde1b96": { + "@type": "maps", + "align": "wide", + "styles": {}, + "url": "https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3657.342797469134!2d-46.6606522!3d-23.5561288!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x94ce591edc929247%3A0x371544b32f805933!2sCentro%20de%20Eventos%20S%C3%A3o%20Lu%C3%ADs!5e0!3m2!1sen!2sbr!4v1740007196765!5m2!1sen!2sbr" + }, + "e5fcb1cb-88aa-4ddc-b3cf-332cf4862a18": { + "@type": "title" + }, + "fb71cee0-593f-45b0-a2cb-1eb5bbd2bebe": { + "@type": "description" + } + }, + "blocks_layout": { + "items": [ + "e5fcb1cb-88aa-4ddc-b3cf-332cf4862a18", + "fb71cee0-593f-45b0-a2cb-1eb5bbd2bebe", + "423dbca9-917a-4b10-af2d-a9a83e18a247", + "c6125ab9-82a0-4a73-80aa-0a3c0fde1b96" + ] + }, + "created": "2025-06-17T22:41:04+00:00", + "description": "As palestras ser\u00e3o realizadas no Centro de Evento S\u00e3o Luiz, na regi\u00e3o da Avenida Paulista", + "exclude_from_nav": false, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "centro-de-eventos-sao-luis", + "is_folderish": true, + "language": "##DEFAULT##", + "layout": "view", + "lock": {}, + "modified": "2025-06-17T22:43:18+00:00", + "nav_title": null, + "preview_caption_link": null, + "review_state": "published", + "title": "Centro de Eventos S\u00e3o Lu\u00eds", + "type_title": "Venue", + "version": "current", + "workflow_history": { + "simple_publication_workflow": [ + { + "action": null, + "actor": "admin", + "comments": "", + "review_state": "private", + "time": "2025-06-17T22:41:04+00:00" + }, + { + "action": "publish", + "actor": "admin", + "comments": "", + "review_state": "published", + "time": "2025-06-17T22:41:12+00:00" + } + ] + }, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/b1279249bca341d78e0762bc2a12094f/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/b1279249bca341d78e0762bc2a12094f/data.json deleted file mode 100644 index 54351d8..0000000 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/b1279249bca341d78e0762bc2a12094f/data.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "@id": "/agenda", - "@type": "Document", - "UID": "b1279249bca341d78e0762bc2a12094f", - "allow_discussion": null, - "blocks": { - "2387af39-5340-4857-8539-6bb2798b0338": { - "@type": "title" - }, - "7616b19c-a222-4c60-afea-6210f0593feb": { - "@type": "slate", - "plaintext": "A divis\u00e3o de atividades vai ser:", - "styles": {}, - "value": [ - { - "children": [ - { - "text": "A divis\u00e3o de atividades vai ser:" - } - ], - "type": "p" - } - ] - }, - "964d5554-15be-4d69-93e6-296114dbdbe6": { - "@type": "description" - }, - "a660d1a8-033c-4a67-8dca-42007fa5e148": { - "@type": "slate", - "override_toc": false, - "plaintext": "Entre os dias 21 a 23 teremos os tutoriais. Tutoriais s\u00e3o mini cursos pr\u00e1ticos ministrados pela comunidade Entre os dias 24 a 26 teremos o evento principal com palestras dadas pela comunidade No dia 27 teremos as sprints. Sprints s\u00e3o atividades em conjunto para a contribui\u00e7\u00e3o em reposit\u00f3rios de c\u00f3digo aberto.", - "styles": {}, - "value": [ - { - "children": [ - { - "children": [ - { - "text": "Entre os dias 21 a 23 teremos os tutoriais. Tutoriais s\u00e3o mini cursos pr\u00e1ticos ministrados pela comunidade" - } - ], - "type": "li" - }, - { - "children": [ - { - "text": "Entre os dias 24 a 26 teremos o evento principal com palestras dadas pela comunidade" - } - ], - "type": "li" - }, - { - "children": [ - { - "text": "No dia 27 teremos as sprints. Sprints s\u00e3o atividades em conjunto para a contribui\u00e7\u00e3o em reposit\u00f3rios de c\u00f3digo aberto." - } - ], - "type": "li" - } - ], - "type": "ol" - } - ] - } - }, - "blocks_layout": { - "items": [ - "2387af39-5340-4857-8539-6bb2798b0338", - "964d5554-15be-4d69-93e6-296114dbdbe6", - "7616b19c-a222-4c60-afea-6210f0593feb", - "a660d1a8-033c-4a67-8dca-42007fa5e148" - ] - }, - "changeNote": "", - "contributors": [], - "created": "2025-01-22T22:14:02+00:00", - "creators": [ - "be1f8aa4-b6c8-48ef-8d37-aa4fd88a4095" - ], - "description": "De 21 a 27 de outubro de 2025", - "effective": "2025-01-30T22:12:00+00:00", - "exclude_from_nav": false, - "expires": null, - "exportimport.constrains": {}, - "exportimport.conversation": [], - "id": "agenda", - "is_folderish": true, - "language": "##DEFAULT##", - "layout": "document_view", - "lock": { - "locked": false, - "stealable": true - }, - "modified": "2025-01-30T22:29:57+00:00", - "preview_caption": null, - "preview_image": null, - "review_state": "published", - "rights": "", - "subjects": [], - "title": "Agenda", - "type_title": "Page", - "version": "current", - "versioning_enabled": true, - "workflow_history": { - "simple_publication_workflow": [ - { - "action": null, - "actor": "be1f8aa4-b6c8-48ef-8d37-aa4fd88a4095", - "comments": "", - "review_state": "private", - "time": "2025-01-22T22:14:02+00:00" - }, - { - "action": "publish", - "actor": "be1f8aa4-b6c8-48ef-8d37-aa4fd88a4095", - "comments": "", - "review_state": "published", - "time": "2025-01-30T22:12:11+00:00" - } - ] - }, - "working_copy": null, - "working_copy_of": null -} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/bb8dcc0085c64d9cbc2757a4df392701/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/bb8dcc0085c64d9cbc2757a4df392701/data.json new file mode 100644 index 0000000..3b5cd10 --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/bb8dcc0085c64d9cbc2757a4df392701/data.json @@ -0,0 +1,40 @@ +{ + "@id": "/images/sponsor-04-bronze.png", + "@type": "Image", + "UID": "bb8dcc0085c64d9cbc2757a4df392701", + "allow_discussion": null, + "contributors": [], + "created": "2025-06-16T19:30:40+00:00", + "creators": [ + "admin" + ], + "description": "", + "effective": null, + "exclude_from_nav": false, + "expires": null, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "sponsor-04-bronze.png", + "image": { + "blob_path": "bb8dcc0085c64d9cbc2757a4df392701/image/sponsor-04-bronze.png", + "content-type": "image/png", + "filename": "sponsor-04-bronze.png", + "height": 1080, + "size": 1425368, + "width": 1920 + }, + "is_folderish": false, + "language": "##DEFAULT##", + "layout": "image_view", + "lock": {}, + "modified": "2025-06-16T19:30:40+00:00", + "review_state": null, + "rights": "", + "subjects": [], + "title": "sponsor-04-bronze.png", + "type_title": "Image", + "version": "current", + "workflow_history": {}, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/bb8dcc0085c64d9cbc2757a4df392701/image/sponsor-04-bronze.png b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/bb8dcc0085c64d9cbc2757a4df392701/image/sponsor-04-bronze.png new file mode 100644 index 0000000..4114c81 Binary files /dev/null and b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/bb8dcc0085c64d9cbc2757a4df392701/image/sponsor-04-bronze.png differ diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/c8e59c9637414aeb957e5d8eb7625648/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/c8e59c9637414aeb957e5d8eb7625648/data.json new file mode 100644 index 0000000..c1e86cb --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/c8e59c9637414aeb957e5d8eb7625648/data.json @@ -0,0 +1,90 @@ +{ + "@id": "/patrocine/organizacao/apyb", + "@type": "Sponsor", + "UID": "c8e59c9637414aeb957e5d8eb7625648", + "allow_discussion": null, + "created": "2025-06-16T19:19:38+00:00", + "description": "", + "exclude_from_nav": false, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "apyb", + "image": { + "blob_path": "c8e59c9637414aeb957e5d8eb7625648/image/apyb.png", + "content-type": "image/png", + "filename": "apyb.png", + "height": 768, + "size": 68886, + "width": 1024 + }, + "image_caption": null, + "is_folderish": true, + "language": "##DEFAULT##", + "layout": "view", + "lock": {}, + "modified": "2025-06-16T19:19:45+00:00", + "review_state": "published", + "social_links": [ + { + "@id": "d71a9732-75ce-4775-b574-ed29c43028c1", + "href": [ + { + "@id": "https://python.org.br/apyb/", + "title": "python.org.br/apyb/" + } + ], + "id": "website", + "title": "Site" + }, + { + "@id": "7222db66-493f-4c0a-928c-e42cc349d778", + "href": [ + { + "@id": "https://github.com/pythonbrasil", + "title": "github.com/pythonbrasil" + } + ], + "id": "github", + "title": "GitHub" + }, + { + "@id": "ff58dbc8-e601-4d1a-ba95-cb067c5d2933", + "href": [ + { + "@id": "https://twitter.com/apyb", + "title": "twitter.com/apyb" + } + ], + "id": "x", + "title": "X" + } + ], + "text": { + "content-type": "text/html", + "data": "

A Associa\u00e7\u00e3o Python Brasil (APyB), tamb\u00e9m conhecida como Associa\u00e7\u00e3o Python Brasil, \u00e9 uma organiza\u00e7\u00e3o sem fins lucrativos formada com o objetivo principal de nutrir e apoiar a comunidade da linguagem de programa\u00e7\u00e3o Python no Brasil. Fundada em 2007 para promover o crescimento e a dissemina\u00e7\u00e3o de conhecimentos e tecnologias relacionadas ao Python, a APyB tem sido uma for\u00e7a motriz na promo\u00e7\u00e3o de uma comunidade Python vibrante no pa\u00eds. Desde a sua cria\u00e7\u00e3o, a associa\u00e7\u00e3o tem desempenhado um papel fundamental na organiza\u00e7\u00e3o de eventos, confer\u00eancias e encontros que re\u00fanem entusiastas, desenvolvedores e profissionais de Python de diversas origens.

", + "encoding": "utf8" + }, + "title": "APyB", + "type_title": "Sponsor", + "version": "current", + "workflow_history": { + "simple_publication_workflow": [ + { + "action": null, + "actor": "admin", + "comments": "", + "review_state": "private", + "time": "2025-06-16T19:19:38+00:00" + }, + { + "action": "publish", + "actor": "admin", + "comments": "", + "review_state": "published", + "time": "2025-06-16T19:19:45+00:00" + } + ] + }, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/c8e59c9637414aeb957e5d8eb7625648/image/apyb.png b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/c8e59c9637414aeb957e5d8eb7625648/image/apyb.png new file mode 100644 index 0000000..64cd322 Binary files /dev/null and b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/c8e59c9637414aeb957e5d8eb7625648/image/apyb.png differ diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/cc193578bdf2480c8274e682b06dbfb9/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/cc193578bdf2480c8274e682b06dbfb9/data.json new file mode 100644 index 0000000..7ffa560 --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/cc193578bdf2480c8274e682b06dbfb9/data.json @@ -0,0 +1,379 @@ +{ + "@id": "/patrocine/ouro", + "@type": "SponsorLevel", + "UID": "cc193578bdf2480c8274e682b06dbfb9", + "allow_discussion": null, + "benefits": [ + { + "@id": "39d51c33-f33b-4a02-a9cc-81208b886a2f", + "code": { + "title": "Marca: V\u00eddeo keynotes", + "token": "0480a40f-de48-4706-8ed4-b2066d82dcb7" + }, + "id": "39d51c33-f33b-4a02-a9cc-81208b886a2f", + "title": "Marca: V\u00eddeo keynotes", + "value": "30s" + }, + { + "@id": "81abf951-d0c5-4dd6-8e98-66187292f877", + "code": { + "title": "Marca: Logo no local do evento", + "token": "62861964-c29e-4ea1-b139-90c50884a541" + }, + "id": "81abf951-d0c5-4dd6-8e98-66187292f877", + "title": "Marca: Logo no local do evento", + "value": null + }, + { + "@id": "6e03db8b-e0e1-41ae-8674-2e89472f8938", + "code": { + "title": "Digital: Logo em v\u00eddeos", + "token": "83700ec1-4229-4467-aacc-03a2e3de17eb" + }, + "id": "6e03db8b-e0e1-41ae-8674-2e89472f8938", + "title": "Digital: Logo em v\u00eddeos", + "value": null + }, + { + "@id": "7f9804c8-0f22-4b0c-b25a-fcc189922d97", + "code": { + "title": "Digital: Post personalizado em redes sociais", + "token": "2f9fda0a-32f9-47a0-9ca6-1b6c20caf46a" + }, + "id": "7f9804c8-0f22-4b0c-b25a-fcc189922d97", + "title": "Digital: Post personalizado em redes sociais", + "value": "3" + }, + { + "@id": "3b3d5ebe-e6a2-47eb-a3cf-70821a2d11c6", + "code": { + "title": "Digital: Post agradecimento em redes sociais", + "token": "b3c20966-701e-44f2-af8c-9436fd78aff7" + }, + "id": "3b3d5ebe-e6a2-47eb-a3cf-70821a2d11c6", + "title": "Digital: Post agradecimento em redes sociais", + "value": null + }, + { + "@id": "79fa197c-143b-4b0b-ac4c-a8dce68f514b", + "code": { + "title": "Digital: Logo no site", + "token": "750f4e1e-17ea-44f2-8af2-655d99e28a88" + }, + "id": "79fa197c-143b-4b0b-ac4c-a8dce68f514b", + "title": "Digital: Logo no site", + "value": null + }, + { + "@id": "01269865-cdc3-47e5-b342-8f9b0fcbf57c", + "code": { + "title": "Intera\u00e7\u00e3o: Estande", + "token": "fbb995d8-a03f-471a-ae93-5da5db6dd3e6" + }, + "id": "01269865-cdc3-47e5-b342-8f9b0fcbf57c", + "title": "Intera\u00e7\u00e3o: Estande", + "value": null + }, + { + "@id": "198cea3a-8e60-4c7d-9fab-fbae89ff2ed5", + "code": { + "title": "Intera\u00e7\u00e3o: Atividades", + "token": "b2193c1b-7bbf-4f27-b495-f4a76793b791" + }, + "id": "198cea3a-8e60-4c7d-9fab-fbae89ff2ed5", + "title": "Intera\u00e7\u00e3o: Atividades", + "value": null + }, + { + "@id": "8892e1f7-f073-49c2-bc68-52449f6bbd32", + "code": { + "title": "Intera\u00e7\u00e3o: E-mail", + "token": "162d91e1-1d01-40a0-952f-da40f9c7f9fb" + }, + "id": "8892e1f7-f073-49c2-bc68-52449f6bbd32", + "title": "Intera\u00e7\u00e3o: E-mail", + "value": "1" + }, + { + "@id": "683884e7-93ff-4933-bd43-e1deedab75d4", + "code": { + "title": "Intera\u00e7\u00e3o: Palco principal", + "token": "5c18f964-94bf-407c-914b-83cc0998d6d9" + }, + "id": "683884e7-93ff-4933-bd43-e1deedab75d4", + "title": "Intera\u00e7\u00e3o: Palco principal", + "value": "3 minutos" + }, + { + "@id": "ea672914-179a-4ef5-a8bf-8b2ec2771a73", + "code": { + "title": "Intera\u00e7\u00e3o: Kit do participante", + "token": "f01b8239-31ff-40fd-9b66-b3c655a2bd5c" + }, + "id": "ea672914-179a-4ef5-a8bf-8b2ec2771a73", + "title": "Intera\u00e7\u00e3o: Kit do participante", + "value": null + }, + { + "@id": "140c5a51-577a-4293-a67f-db21e575742d", + "code": { + "title": "Ingressos: Inclusos", + "token": "9d3be2f0-e191-49b0-85a8-ac3b05519b45" + }, + "id": "140c5a51-577a-4293-a67f-db21e575742d", + "title": "Ingressos: Inclusos", + "value": "7" + }, + { + "@id": "c8ac15f5-653d-400d-a629-1d34cef20d15", + "code": { + "title": "Ingressos: Desconto", + "token": "57c3f9de-d97e-4d47-abae-f6e2318c826a" + }, + "id": "c8ac15f5-653d-400d-a629-1d34cef20d15", + "title": "Ingressos: Desconto", + "value": "25%" + } + ], + "blocks": { + "3ac565a7-8831-4079-90e5-5502d6c63993": { + "@type": "sponsorLevelBlock", + "displayCTA": true, + "href": [ + { + "@id": "../../resolveuid/005d63f8dd7b41818ae3e5e2ba1f36d9", + "@type": "Document", + "Description": "Garanta a sua vaga na Python Brasil 2025", + "Title": "Patrocine agora", + "hasPreviewImage": null, + "head_title": null, + "image_field": "", + "title": "Patrocine agora" + } + ], + "label": "Patrocine!", + "styles": { + "align:noprefix": { + "--block-alignment": "var(--align-center)" + } + }, + "title": "Seja o primeiro" + }, + "67db731e-1342-4a3b-bc6d-195bfdef8c19": { + "@type": "accordion", + "collapsed": false, + "data": { + "blocks": { + "24ffd234-53b5-4948-ae79-1422f61c1474": { + "@type": "accordionPanel", + "blocks": { + "19994ff9-faa9-4094-ad09-cbe990bf07bf": { + "@type": "slate", + "plaintext": "Voc\u00ea poder\u00e1 exibir um v\u00eddeo de 30s em um dos momentos de maior visibilidade do evento: na abertura dos keynotes, nossas palestras com convidados especiais!", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Voc\u00ea poder\u00e1 exibir um v\u00eddeo de 30s em um dos momentos de maior visibilidade do evento: na abertura dos keynotes, nossas palestras com convidados especiais!" + } + ], + "type": "p" + } + ] + } + }, + "blocks_layout": { + "items": [ + "19994ff9-faa9-4094-ad09-cbe990bf07bf" + ] + }, + "title": "Todos os olhos em voc\u00ea" + }, + "49f25694-881e-4102-a036-a16159690900": { + "@type": "accordionPanel", + "blocks": { + "4540c587-8ac8-419b-81bd-ac21e09423d7": { + "@type": "slate", + "plaintext": "Al\u00e9m disso, ela tamb\u00e9m aparecer\u00e1 em propor\u00e7\u00e3o maior nas nossas m\u00eddias impressas (banner de boas vindas, painel de fotos e salas de palestras)", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Al\u00e9m disso, ela tamb\u00e9m aparecer\u00e1 em propor\u00e7\u00e3o maior nas nossas m\u00eddias impressas (banner de boas vindas, painel de fotos e salas de palestras)" + } + ], + "type": "p" + } + ] + }, + "b042282e-6cfe-4f3b-baeb-c5729d602468": { + "@type": "slate", + "plaintext": "Sua logo aparecer\u00e1 em nossas transmiss\u00f5es no YouTube, grava\u00e7\u00f5es e intervalos entre as palestras.", + "value": [ + { + "children": [ + { + "text": "Sua logo aparecer\u00e1 em nossas transmiss\u00f5es no YouTube, grava\u00e7\u00f5es e intervalos entre as palestras." + } + ], + "type": "p" + } + ] + } + }, + "blocks_layout": { + "items": [ + "b042282e-6cfe-4f3b-baeb-c5729d602468", + "4540c587-8ac8-419b-81bd-ac21e09423d7" + ] + }, + "title": "Sua marca por toda a parte" + }, + "513b0dbf-b5ed-4b07-bca5-14946a0d25c4": { + "@type": "accordionPanel", + "blocks": { + "628c3054-6173-416c-99b8-9d1c07b8e613": { + "@type": "slate", + "plaintext": "Voc\u00ea poder\u00e1 enviar um e-mail para os participantes doevento anunciando vagas, produtos ou o assunto que lhe interessar!", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Voc\u00ea poder\u00e1 enviar um e-mail para os participantes doevento anunciando vagas, produtos ou o assunto que lhe interessar!" + } + ], + "type": "p" + } + ] + }, + "87bc49f6-b2bd-4148-887a-482f85a877b3": { + "@type": "slate", + "plaintext": "Monte um espa\u00e7o dedicado no evento para interagir com os participantes!", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Monte um espa\u00e7o dedicado no evento para interagir com os participantes!" + } + ], + "type": "p" + } + ] + }, + "ed2fc39a-e4ba-4655-b952-adf0969f75ed": { + "@type": "slate", + "plaintext": "Ter\u00e1 um espa\u00e7o na programa\u00e7\u00e3o para apresentar umaatividade a ser revisada pela organiza\u00e7\u00e3o", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Ter\u00e1 um espa\u00e7o na programa\u00e7\u00e3o para apresentar umaatividade a ser revisada pela organiza\u00e7\u00e3o" + } + ], + "type": "p" + } + ] + } + }, + "blocks_layout": { + "items": [ + "87bc49f6-b2bd-4148-887a-482f85a877b3", + "628c3054-6173-416c-99b8-9d1c07b8e613", + "ed2fc39a-e4ba-4655-b952-adf0969f75ed" + ] + }, + "title": "Conquiste a comunidade" + }, + "642211c7-c318-4a76-9cca-4d998f0e790c": { + "@type": "accordionPanel", + "blocks": { + "0957ef69-8300-45f8-ba00-47a8e4f832bc": { + "@type": "levelBenefitsBlock", + "tableTitle": "Compare", + "title": " " + } + }, + "blocks_layout": { + "items": [ + "0957ef69-8300-45f8-ba00-47a8e4f832bc" + ] + }, + "title": "Todos os Benef\u00edcios" + } + }, + "blocks_layout": { + "items": [ + "24ffd234-53b5-4948-ae79-1422f61c1474", + "49f25694-881e-4102-a036-a16159690900", + "513b0dbf-b5ed-4b07-bca5-14946a0d25c4", + "642211c7-c318-4a76-9cca-4d998f0e790c" + ] + } + }, + "filtering": false, + "non_exclusive": false, + "right_arrows": true, + "styles": {}, + "theme": "red" + }, + "c25809f5-beb0-4a00-a74d-0c8ba4bf24b4": { + "@type": "title" + } + }, + "blocks_layout": { + "items": [ + "c25809f5-beb0-4a00-a74d-0c8ba4bf24b4", + "67db731e-1342-4a3b-bc6d-195bfdef8c19", + "3ac565a7-8831-4079-90e5-5502d6c63993" + ] + }, + "color": "#000000", + "created": "2025-06-16T19:13:19+00:00", + "description": "Todos os olhos em voc\u00ea", + "exclude_from_nav": false, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "ouro", + "is_folderish": true, + "language": "##DEFAULT##", + "layout": "view", + "lock": {}, + "modified": "2025-06-17T20:38:31+00:00", + "nav_title": null, + "preview_caption_link": null, + "price": "R$40.000,00", + "review_state": "published", + "title": "Ouro", + "type_title": "Sponsorship Level", + "version": "current", + "workflow_history": { + "simple_publication_workflow": [ + { + "action": null, + "actor": "admin", + "comments": "", + "review_state": "private", + "time": "2025-06-16T19:13:19+00:00" + }, + { + "action": "publish", + "actor": "admin", + "comments": "", + "review_state": "published", + "time": "2025-06-16T19:20:41+00:00" + } + ] + }, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/de070eedcb854959a6a4be4d87c083e3/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/de070eedcb854959a6a4be4d87c083e3/data.json new file mode 100644 index 0000000..079dd4f --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/de070eedcb854959a6a4be4d87c083e3/data.json @@ -0,0 +1,463 @@ +{ + "@id": "/patrocine/platina", + "@type": "SponsorLevel", + "UID": "de070eedcb854959a6a4be4d87c083e3", + "allow_discussion": null, + "benefits": [ + { + "@id": "db7a087a-4ad3-4bbc-9945-0d9fe6fa0fb8", + "code": { + "title": "Marca: V\u00eddeo abertura / encerramento", + "token": "3b1a1e54-ea33-4b5e-a823-4c1f21bba321" + }, + "id": "db7a087a-4ad3-4bbc-9945-0d9fe6fa0fb8", + "title": "Marca: V\u00eddeo abertura / encerramento", + "value": null + }, + { + "@id": "b6ba288f-824a-443d-82b8-29b06ca05ae6", + "code": { + "title": "Marca: Crach\u00e1", + "token": "f74e57ce-5307-48f8-976f-704912947eea" + }, + "id": "b6ba288f-824a-443d-82b8-29b06ca05ae6", + "title": "Marca: Crach\u00e1", + "value": null + }, + { + "@id": "9438b3f0-bde1-4ee3-b179-e8b74612b9b7", + "code": { + "title": "Marca: V\u00eddeo keynotes", + "token": "0480a40f-de48-4706-8ed4-b2066d82dcb7" + }, + "id": "9438b3f0-bde1-4ee3-b179-e8b74612b9b7", + "title": "Marca: V\u00eddeo keynotes", + "value": "1m" + }, + { + "@id": "cad39470-4ce3-47f0-83f3-e0a51c00ffa5", + "code": { + "title": "Marca: Logo no local do evento", + "token": "62861964-c29e-4ea1-b139-90c50884a541" + }, + "id": "cad39470-4ce3-47f0-83f3-e0a51c00ffa5", + "title": "Marca: Logo no local do evento", + "value": null + }, + { + "@id": "18543c71-9367-48b3-840a-bf40f1a7f455", + "code": { + "title": "Digital: Destaque no site", + "token": "50f0be38-488a-4744-8bd1-7e90ebfbb681" + }, + "id": "18543c71-9367-48b3-840a-bf40f1a7f455", + "title": "Digital: Destaque no site", + "value": null + }, + { + "@id": "8524e0ad-9b3e-4dc3-bb5c-0ee9c65052f4", + "code": { + "title": "Digital: Logo em v\u00eddeos", + "token": "83700ec1-4229-4467-aacc-03a2e3de17eb" + }, + "id": "8524e0ad-9b3e-4dc3-bb5c-0ee9c65052f4", + "title": "Digital: Logo em v\u00eddeos", + "value": null + }, + { + "@id": "0711ac49-215f-4559-ad9d-9b1bc2e9236b", + "code": { + "title": "Digital: Post personalizado em redes sociais", + "token": "2f9fda0a-32f9-47a0-9ca6-1b6c20caf46a" + }, + "id": "0711ac49-215f-4559-ad9d-9b1bc2e9236b", + "title": "Digital: Post personalizado em redes sociais", + "value": "5" + }, + { + "@id": "36007391-8323-4d16-80d6-e9d3cc0c9c06", + "code": { + "title": "Digital: Post agradecimento em redes sociais", + "token": "b3c20966-701e-44f2-af8c-9436fd78aff7" + }, + "id": "36007391-8323-4d16-80d6-e9d3cc0c9c06", + "title": "Digital: Post agradecimento em redes sociais", + "value": null + }, + { + "@id": "382798cf-1929-4a39-840a-361ad8f22cc6", + "code": { + "title": "Digital: Logo no site", + "token": "750f4e1e-17ea-44f2-8af2-655d99e28a88" + }, + "id": "382798cf-1929-4a39-840a-361ad8f22cc6", + "title": "Digital: Logo no site", + "value": null + }, + { + "@id": "90a12ad1-c8bf-441c-8811-14b223782c5c", + "code": { + "title": "Intera\u00e7\u00e3o: Estande", + "token": "fbb995d8-a03f-471a-ae93-5da5db6dd3e6" + }, + "id": "90a12ad1-c8bf-441c-8811-14b223782c5c", + "title": "Intera\u00e7\u00e3o: Estande", + "value": null + }, + { + "@id": "649e4791-4ddd-4fbc-b342-c85b047966de", + "code": { + "title": "Intera\u00e7\u00e3o: Atividades", + "token": "b2193c1b-7bbf-4f27-b495-f4a76793b791" + }, + "id": "649e4791-4ddd-4fbc-b342-c85b047966de", + "title": "Intera\u00e7\u00e3o: Atividades", + "value": "1 de cada" + }, + { + "@id": "c65a0cd7-3cf9-4cc9-a9e8-96a3e2bdfc37", + "code": { + "title": "Intera\u00e7\u00e3o: E-mail", + "token": "162d91e1-1d01-40a0-952f-da40f9c7f9fb" + }, + "id": "c65a0cd7-3cf9-4cc9-a9e8-96a3e2bdfc37", + "title": "Intera\u00e7\u00e3o: E-mail", + "value": "3" + }, + { + "@id": "7f95ad1e-919b-4281-832e-eb904ad153ff", + "code": { + "title": "Intera\u00e7\u00e3o: Palco principal", + "token": "5c18f964-94bf-407c-914b-83cc0998d6d9" + }, + "id": "7f95ad1e-919b-4281-832e-eb904ad153ff", + "title": "Intera\u00e7\u00e3o: Palco principal", + "value": "5m" + }, + { + "@id": "c8ebb64b-ba35-4a78-8272-b5ebd9153f45", + "code": { + "title": "Intera\u00e7\u00e3o: Kit do participante", + "token": "f01b8239-31ff-40fd-9b66-b3c655a2bd5c" + }, + "id": "c8ebb64b-ba35-4a78-8272-b5ebd9153f45", + "title": "Intera\u00e7\u00e3o: Kit do participante", + "value": null + }, + { + "@id": "89dc5aad-d211-4a3e-b606-568319b15584", + "code": { + "title": "Ingressos: Inclusos", + "token": "9d3be2f0-e191-49b0-85a8-ac3b05519b45" + }, + "id": "89dc5aad-d211-4a3e-b606-568319b15584", + "title": "Ingressos: Inclusos", + "value": "11" + }, + { + "@id": "843f9ce1-6cbe-40fc-87f9-5825f44f493c", + "code": { + "title": "Ingressos: Desconto", + "token": "57c3f9de-d97e-4d47-abae-f6e2318c826a" + }, + "id": "843f9ce1-6cbe-40fc-87f9-5825f44f493c", + "title": "Ingressos: Desconto", + "value": "30%" + } + ], + "blocks": { + "2507fc22-e710-49dc-b75f-8d444fdafa79": { + "@type": "slate", + "plaintext": "", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "" + } + ], + "type": "p" + } + ] + }, + "dee66b60-1ac3-49b7-a476-52477b44dc4d": { + "@type": "sponsorLevelBlock", + "displayCTA": true, + "href": [ + { + "@id": "../../resolveuid/005d63f8dd7b41818ae3e5e2ba1f36d9", + "@type": "Document", + "Description": "Garanta a sua vaga na Python Brasil 2025", + "Title": "Patrocine agora", + "hasPreviewImage": null, + "head_title": null, + "image_field": "", + "title": "Patrocine agora" + } + ], + "label": "Patrocine!", + "styles": { + "align:noprefix": { + "--block-alignment": "var(--align-center)" + } + }, + "title": "Seja o primeiro" + }, + "e3d31cef-fb2c-45e9-a73e-1c666b1c5b90": { + "@type": "title" + }, + "ec7960d8-603b-4743-95c4-4a2eaf028b6f": { + "@type": "accordion", + "collapsed": false, + "data": { + "blocks": { + "24ffd234-53b5-4948-ae79-1422f61c1474": { + "@type": "accordionPanel", + "blocks": { + "19994ff9-faa9-4094-ad09-cbe990bf07bf": { + "@type": "slate", + "plaintext": "Sua logo estar\u00e1 nos nossos crach\u00e1s", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Sua logo estar\u00e1 nos nossos crach\u00e1s" + } + ], + "type": "p" + } + ] + } + }, + "blocks_layout": { + "items": [ + "19994ff9-faa9-4094-ad09-cbe990bf07bf" + ] + }, + "title": "Nossos participantes com sua marca no peito!" + }, + "49f25694-881e-4102-a036-a16159690900": { + "@type": "accordionPanel", + "blocks": { + "11b9cf4f-2c96-4f27-ae98-74584ef6a098": { + "@type": "slate", + "plaintext": "Sua logo ter\u00e1 destaque em nosso site, al\u00e9m de aparecer em nossas transmiss\u00f5es no YouTube, grava\u00e7\u00f5es e intervalos entre as palestras.", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Sua logo ter\u00e1\u00a0" + }, + { + "children": [ + { + "text": "destaque" + } + ], + "type": "strong" + }, + { + "text": "\u00a0em nosso site, al\u00e9m de aparecer em nossas transmiss\u00f5es no YouTube, grava\u00e7\u00f5es e intervalos entre as palestras." + } + ], + "type": "p" + } + ] + }, + "a68c25ed-f416-4c8d-9c63-4ffe89622c7e": { + "@type": "slate", + "plaintext": "Ah! ela tamb\u00e9m aparecer\u00e1 em propor\u00e7\u00e3o maior nas nossas m\u00eddias impressas (banner de boas vindas,painel de fotos e salas de palestras", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Ah! ela tamb\u00e9m aparecer\u00e1 em propor\u00e7\u00e3o maior nas nossas m\u00eddias impressas (banner de boas vindas,painel de fotos e salas de palestras" + } + ], + "type": "p" + } + ] + } + }, + "blocks_layout": { + "items": [ + "11b9cf4f-2c96-4f27-ae98-74584ef6a098", + "a68c25ed-f416-4c8d-9c63-4ffe89622c7e" + ] + }, + "title": "Sua marca em destaque" + }, + "513b0dbf-b5ed-4b07-bca5-14946a0d25c4": { + "@type": "accordionPanel", + "blocks": { + "1432010b-240c-4990-b2d2-6a96154e74b9": { + "@type": "slate", + "plaintext": "Voc\u00ea poder\u00e1 exibir um v\u00eddeo nos momentos de maior visibilidade do evento: na abertura e encerramento do evento al\u00e9m de na abertura dos nossos keyynotes!", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Voc\u00ea poder\u00e1 exibir um v\u00eddeo nos momentos de maior visibilidade do evento: na abertura e encerramento do evento al\u00e9m de na abertura dos nossos keyynotes!" + } + ], + "type": "p" + } + ] + } + }, + "blocks_layout": { + "items": [ + "1432010b-240c-4990-b2d2-6a96154e74b9" + ] + }, + "title": "Todos os olhos em voc\u00ea" + }, + "642211c7-c318-4a76-9cca-4d998f0e790c": { + "@type": "accordionPanel", + "blocks": { + "0957ef69-8300-45f8-ba00-47a8e4f832bc": { + "@type": "levelBenefitsBlock", + "tableTitle": "Compare", + "title": " " + } + }, + "blocks_layout": { + "items": [ + "0957ef69-8300-45f8-ba00-47a8e4f832bc" + ] + }, + "title": "Todos os Benef\u00edcios" + }, + "6433ca2c-cb5d-4978-80b8-0ac2f3b91621": { + "@type": "accordionPanel", + "blocks": { + "675d6bd1-f051-4e56-923c-5ec441d5b376": { + "@type": "slate", + "plaintext": "Monte um espa\u00e7o dedicado no evento para interagir com os participantes!", + "value": [ + { + "children": [ + { + "text": "Monte um espa\u00e7o dedicado no evento para interagir com os participantes!" + } + ], + "type": "p" + } + ] + }, + "78ff9bab-be46-4ee4-8055-7be604f9c259": { + "@type": "slate", + "plaintext": "Ter\u00e1 um espa\u00e7o na programa\u00e7\u00e3o para apresentar duas atividades a serem revisada pela organiza\u00e7\u00e3o", + "styles": {}, + "theme": "default", + "value": [ + { + "children": [ + { + "text": "Ter\u00e1 um espa\u00e7o na programa\u00e7\u00e3o para apresentar duas atividades a serem revisada pela organiza\u00e7\u00e3o" + } + ], + "type": "p" + } + ] + }, + "b7ef89eb-6528-4dad-a9b3-8a017b039aef": { + "@type": "slate", + "plaintext": "At\u00e9 3 e-mails pra voc\u00ea enviar para os participantes do evento anunciando vagas, produtos ou o assunto que lhe interessar!", + "value": [ + { + "children": [ + { + "text": "At\u00e9 3 e-mails pra voc\u00ea enviar para os participantes do evento anunciando vagas, produtos ou o assunto que lhe interessar!" + } + ], + "type": "p" + } + ] + } + }, + "blocks_layout": { + "items": [ + "675d6bd1-f051-4e56-923c-5ec441d5b376", + "b7ef89eb-6528-4dad-a9b3-8a017b039aef", + "78ff9bab-be46-4ee4-8055-7be604f9c259" + ] + }, + "title": "Conquiste a comunidade" + } + }, + "blocks_layout": { + "items": [ + "24ffd234-53b5-4948-ae79-1422f61c1474", + "49f25694-881e-4102-a036-a16159690900", + "513b0dbf-b5ed-4b07-bca5-14946a0d25c4", + "6433ca2c-cb5d-4978-80b8-0ac2f3b91621", + "642211c7-c318-4a76-9cca-4d998f0e790c" + ] + } + }, + "filtering": false, + "non_exclusive": false, + "right_arrows": true, + "styles": {}, + "theme": "red" + } + }, + "blocks_layout": { + "items": [ + "e3d31cef-fb2c-45e9-a73e-1c666b1c5b90", + "ec7960d8-603b-4743-95c4-4a2eaf028b6f", + "dee66b60-1ac3-49b7-a476-52477b44dc4d", + "2507fc22-e710-49dc-b75f-8d444fdafa79" + ] + }, + "color": "#000000", + "created": "2025-06-16T19:12:44+00:00", + "description": "Sua marca em destaque!", + "exclude_from_nav": false, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "platina", + "is_folderish": true, + "language": "##DEFAULT##", + "layout": "view", + "lock": {}, + "modified": "2025-06-17T20:38:08+00:00", + "nav_title": null, + "preview_caption_link": null, + "price": "R$65.000,00", + "review_state": "published", + "title": "Platina", + "type_title": "Sponsorship Level", + "version": "current", + "workflow_history": { + "simple_publication_workflow": [ + { + "action": null, + "actor": "admin", + "comments": "", + "review_state": "private", + "time": "2025-06-16T19:12:44+00:00" + }, + { + "action": "publish", + "actor": "admin", + "comments": "", + "review_state": "published", + "time": "2025-06-16T19:20:41+00:00" + } + ] + }, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/e04f2f42f76d4742a4c8d648339ca6b9/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/e04f2f42f76d4742a4c8d648339ca6b9/data.json new file mode 100644 index 0000000..bddef99 --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/e04f2f42f76d4742a4c8d648339ca6b9/data.json @@ -0,0 +1,40 @@ +{ + "@id": "/images/sponsor-01-platina.png", + "@type": "Image", + "UID": "e04f2f42f76d4742a4c8d648339ca6b9", + "allow_discussion": null, + "contributors": [], + "created": "2025-06-16T19:30:39+00:00", + "creators": [ + "admin" + ], + "description": "", + "effective": null, + "exclude_from_nav": false, + "expires": null, + "exportimport.constrains": {}, + "exportimport.conversation": [], + "id": "sponsor-01-platina.png", + "image": { + "blob_path": "e04f2f42f76d4742a4c8d648339ca6b9/image/sponsor-01-platina.png", + "content-type": "image/png", + "filename": "sponsor-01-platina.png", + "height": 1080, + "size": 1558097, + "width": 1920 + }, + "is_folderish": false, + "language": "##DEFAULT##", + "layout": "image_view", + "lock": {}, + "modified": "2025-06-16T19:30:39+00:00", + "review_state": null, + "rights": "", + "subjects": [], + "title": "sponsor-01-platina.png", + "type_title": "Image", + "version": "current", + "workflow_history": {}, + "working_copy": null, + "working_copy_of": null +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/e04f2f42f76d4742a4c8d648339ca6b9/image/sponsor-01-platina.png b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/e04f2f42f76d4742a4c8d648339ca6b9/image/sponsor-01-platina.png new file mode 100644 index 0000000..dc5c7f9 Binary files /dev/null and b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/e04f2f42f76d4742a4c8d648339ca6b9/image/sponsor-01-platina.png differ diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/f9db2eccb58a4e9eb32b43708a0ebc0a/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/f9db2eccb58a4e9eb32b43708a0ebc0a/data.json deleted file mode 100644 index af7bf55..0000000 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/f9db2eccb58a4e9eb32b43708a0ebc0a/data.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "@id": "/patrocine/ouro", - "@type": "SponsorLevel", - "UID": "f9db2eccb58a4e9eb32b43708a0ebc0a", - "allow_discussion": null, - "blocks": { - "144e532e-dcb9-4174-92ae-947bd95838de": { - "@type": "slate" - }, - "ab959845-0363-4a5c-9654-757569757414": { - "@type": "title" - }, - "c3cbafbe-ba10-4350-b1da-6cb696b30eb0": { - "@type": "description" - } - }, - "blocks_layout": { - "items": [ - "ab959845-0363-4a5c-9654-757569757414", - "c3cbafbe-ba10-4350-b1da-6cb696b30eb0", - "144e532e-dcb9-4174-92ae-947bd95838de" - ] - }, - "contributors": [], - "created": "2024-10-21T00:30:07+00:00", - "creators": [ - "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629" - ], - "description": "Cota ouro da PythonBrasil 2025", - "display_frontpage": false, - "effective": null, - "exclude_from_nav": false, - "expires": null, - "exportimport.constrains": {}, - "exportimport.conversation": [], - "id": "ouro", - "is_folderish": true, - "language": "##DEFAULT##", - "layout": "view", - "lock": {}, - "modified": "2025-01-30T21:54:49+00:00", - "nav_title": null, - "preview_caption": null, - "preview_image": { - "blob_path": "f9db2eccb58a4e9eb32b43708a0ebc0a/preview_image/ouro.png", - "content-type": "image/png", - "filename": "ouro.png", - "height": 900, - "size": 564202, - "width": 1600 - }, - "review_state": "private", - "rights": "", - "subjects": [], - "title": "Ouro", - "type_title": "Sponsorship Level", - "version": "current", - "workflow_history": { - "simple_publication_workflow": [ - { - "action": null, - "actor": "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629", - "comments": "", - "review_state": "private", - "time": "2024-10-21T00:30:07+00:00" - } - ] - }, - "working_copy": null, - "working_copy_of": null -} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/f9db2eccb58a4e9eb32b43708a0ebc0a/preview_image/ouro.png b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/f9db2eccb58a4e9eb32b43708a0ebc0a/preview_image/ouro.png deleted file mode 100644 index 24f44df..0000000 Binary files a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/f9db2eccb58a4e9eb32b43708a0ebc0a/preview_image/ouro.png and /dev/null differ diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/fa4f3a56ff634ab7a5ebb1f106126dfd/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/fa4f3a56ff634ab7a5ebb1f106126dfd/data.json deleted file mode 100644 index 57204e3..0000000 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/fa4f3a56ff634ab7a5ebb1f106126dfd/data.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "@id": "/2025-pythonbrasil-patrocinio.pdf", - "@type": "File", - "UID": "fa4f3a56ff634ab7a5ebb1f106126dfd", - "allow_discussion": null, - "contributors": [], - "created": "2025-01-13T12:24:08+00:00", - "creators": [ - "e9ba8889-9bb3-4d41-9b0f-6c5dfbca6629" - ], - "description": "", - "effective": null, - "exclude_from_nav": false, - "expires": null, - "exportimport.constrains": {}, - "exportimport.conversation": [], - "file": { - "blob_path": "fa4f3a56ff634ab7a5ebb1f106126dfd/file/2025-pythonbrasil-patrocinio.pdf", - "content-type": "application/pdf", - "filename": "2025-pythonbrasil-patrocinio.pdf", - "size": 19552542 - }, - "id": "2025-pythonbrasil-patrocinio.pdf", - "is_folderish": false, - "language": "##DEFAULT##", - "layout": "file_view", - "lock": {}, - "modified": "2025-01-13T12:24:08+00:00", - "review_state": null, - "rights": "", - "subjects": [], - "title": "2025-pythonbrasil-patrocinio.pdf", - "type_title": "File", - "version": "current", - "workflow_history": {}, - "working_copy": null, - "working_copy_of": null -} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/fa4f3a56ff634ab7a5ebb1f106126dfd/file/2025-pythonbrasil-patrocinio.pdf b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/fa4f3a56ff634ab7a5ebb1f106126dfd/file/2025-pythonbrasil-patrocinio.pdf deleted file mode 100644 index b724071..0000000 Binary files a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/fa4f3a56ff634ab7a5ebb1f106126dfd/file/2025-pythonbrasil-patrocinio.pdf and /dev/null differ diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/plone_site_root/data.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/plone_site_root/data.json index 705d3ff..41114e3 100644 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/plone_site_root/data.json +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/content/plone_site_root/data.json @@ -3,6 +3,26 @@ "@type": "Plone Site", "UID": "plone_site_root", "allow_discussion": null, + "audience": [ + { + "@id": "f59d4635-5f42-4775-8641-9fbff8df46de", + "color": "#000000", + "id": "f59d4635-5f42-4775-8641-9fbff8df46de", + "title": "Desenvolvedor" + }, + { + "@id": "1b882a1a-2f75-44bf-af32-c4095d47829c", + "color": "#000000", + "id": "1b882a1a-2f75-44bf-af32-c4095d47829c", + "title": "SysAdmin" + }, + { + "@id": "3e0faf55-6d23-447f-bbc3-3e7636b2384a", + "color": "#000000", + "id": "3e0faf55-6d23-447f-bbc3-3e7636b2384a", + "title": "Cientista de Dados" + } + ], "blocks": { "31f67a28-5a49-40c0-bb4a-6d2279057163": { "@type": "gridBlock", @@ -18,7 +38,7 @@ ], "label": "Submeta sua proposta", "styles": {}, - "theme": "default", + "theme": "grey", "title": "Submiss\u00e3o de atividades" }, "af098dc9-9fc6-4600-b40f-161a88513807": { @@ -32,6 +52,7 @@ ], "label": "Garanta seu Ingresso", "styles": {}, + "theme": "grey", "title": "Ingressos \u00e0 venda" } }, @@ -59,13 +80,26 @@ ], "label": "Plano de Patroc\u00ednio", "styles": {}, - "theme": "grey", - "title": "Patrocine" + "theme": "grey" + }, + "d8734f0c-a866-4bae-8bb6-9be55e8fd203": { + "@type": "gridCTA", + "description": "Associate your company with the largest Python event in Latin America!\n\n", + "href": [ + { + "@id": "https://www.canva.com/design/DAGe_yZ0SdI/myPIGUAEQAnrwKhJE_7Bag/view?utm_content=DAGe_yZ0SdI&utm_campaign=designshare&utm_medium=link2&utm_source=uniquelinks&utlId=h7f3e8c2330", + "title": "www.canva.com/design/DAGe_yZ0SdI/myPIGUAEQAnrwKhJE_7Bag/view?utm_content=DAGe_yZ0SdI&utm_campaign=designshare&utm_medium=link2&utm_source=uniquelinks&utlId=h7f3e8c2330" + } + ], + "label": "Sponsorship Plan", + "styles": {}, + "theme": "grey" } }, "blocks_layout": { "items": [ - "7fe2ce92-edb0-4125-8e1a-898ed523de70" + "7fe2ce92-edb0-4125-8e1a-898ed523de70", + "d8734f0c-a866-4bae-8bb6-9be55e8fd203" ] }, "headline": "Patrocine", @@ -79,23 +113,32 @@ "credit": {}, "description": "", "image_field": "image", - "size": "l", + "size": "m", "styles": { "blockWidth:noprefix": { "--block-width": "100%" }, - "size:noprefix": "large" + "size:noprefix": "medium" }, "theme": "grey", "title": "main.png", "url": "resolveuid/03e3d75a791d4fa98378626ba8f62d07" + }, + "801b9ea5-f374-48ec-836f-0d293b9e11f0": { + "@type": "sponsorsShowcaseBlock", + "styles": { + "align:noprefix": { + "--block-alignment": "var(--align-center)" + } + } } }, "blocks_layout": { "items": [ "42165e4a-c5c1-4229-8161-00f96b0deab0", "31f67a28-5a49-40c0-bb4a-6d2279057163", - "345e2281-cedc-44c2-9aa3-600a885d1bb0" + "345e2281-cedc-44c2-9aa3-600a885d1bb0", + "801b9ea5-f374-48ec-836f-0d293b9e11f0" ] }, "contributors": [], @@ -103,7 +146,42 @@ "admin" ], "description": "Encontro da comunidade Python brasileira, entre 21 a 27 de Outubro, em S\u00e3o Paulo, SP", + "durations_keynote": [ + { + "@id": "e9a4d1d1-1917-45d4-b2f6-0ad27155fb8e", + "color": "#000000", + "duration": 60, + "id": "e9a4d1d1-1917-45d4-b2f6-0ad27155fb8e", + "title": "Keynote" + } + ], + "durations_talk": [ + { + "@id": "bb30e5d6-d8cd-4ab1-805c-2b135a084e23", + "color": "#000000", + "duration": 43, + "id": "bb30e5d6-d8cd-4ab1-805c-2b135a084e23", + "title": "Palestra" + } + ], + "durations_training": [ + { + "@id": "3377164e-b54f-4a38-8496-81ea7929c293", + "color": "#000000", + "duration": 210, + "id": "3377164e-b54f-4a38-8496-81ea7929c293", + "title": "Tutorial Curto" + }, + { + "@id": "2ef0c0ce-9ed1-4305-8177-65ba1abd2053", + "color": "#000000", + "duration": 420, + "id": "2ef0c0ce-9ed1-4305-8177-65ba1abd2053", + "title": "Tutorial Longo" + } + ], "effective": null, + "end": "2025-10-27T21:00:00", "exclude_from_nav": false, "expires": null, "exportimport.constrains": {}, @@ -117,7 +195,6 @@ { "@id": "resolveuid/f17ec2cb79cf4a75896ce3a6b5bc8f54", "@type": "Document", - "Description": "Entre em contato com a organiza\u00e7\u00e3o da Python Brasil 2025", "Title": "Fale Conosco", "title": "Fale Conosco" } @@ -130,7 +207,6 @@ { "@id": "resolveuid/24689ede20f346c09ce7d50b68ff893b", "@type": "Document", - "Description": "Tire suas d\u00favidas sobre a Python Brasil 2025", "Title": "Perguntas Frequentes", "title": "Perguntas Frequentes" } @@ -143,7 +219,6 @@ { "@id": "resolveuid/52e0e3e2d1564eca97eb22eae2fbebbf", "@type": "Document", - "Description": "Todos os participantes, instrutores e organizadores da confer\u00eancia concordam em cumprir o C\u00f3digo de Conduta da PythonBrasil.", "Title": "C\u00f3digo de Conduta", "title": "C\u00f3digo de Conduta" } @@ -153,8 +228,34 @@ ], "id": "Plone", "is_folderish": true, - "items_total": 5, + "items_total": 4, "language": "##DEFAULT##", + "levels": [ + { + "@id": "cf82dd87-e832-46c4-93d9-ab732b0c2796", + "color": "#b022fc", + "id": "cf82dd87-e832-46c4-93d9-ab732b0c2796", + "title": "N\u00e3o t\u00e9cnico" + }, + { + "@id": "bf82dd87-e832-46c4-93d9-ab732b0c2796", + "color": "#f228ad", + "id": "bf82dd87-e832-46c4-93d9-ab732b0c2796", + "title": "Iniciante" + }, + { + "@id": "00dfc721-461f-413a-bf93-8d32b7652938", + "color": "#608cfc", + "id": "00dfc721-461f-413a-bf93-8d32b7652938", + "title": "Intermedi\u00e1rio" + }, + { + "@id": "db001064-afc5-4a62-a185-9621794835ee", + "color": "#65ffac", + "id": "db001064-afc5-4a62-a185-9621794835ee", + "title": "Avan\u00e7ado" + } + ], "lock": { "locked": false, "stealable": true @@ -165,7 +266,7 @@ "share_social_data": true, "social_links": [ { - "@id": "c67e5d80-1744-43f0-9bd8-4f58511194ad", + "@id": "92f5e920-4b62-4a2d-a946-88aade142c92", "href": [ { "@id": "https://pynews.com.br/@pythonbrasil", @@ -176,7 +277,7 @@ "title": "Mastodon" }, { - "@id": "444ef18c-b773-43ea-8594-131e6d35a645", + "@id": "2aac5536-5845-46dc-8d92-5a37d42408f3", "href": [ { "@id": "https://x.com/pythonbrasil/", @@ -187,7 +288,7 @@ "title": "X" }, { - "@id": "2fc33af3-8aa5-4e94-a783-845a5add2ded", + "@id": "3573b116-6600-4b46-9f74-4eba989069d1", "href": [ { "@id": "https://instagram.com/pythonbrasil/", @@ -198,7 +299,7 @@ "title": "Instagram" }, { - "@id": "5889d02c-a6a1-43e0-9799-b17e899843fc", + "@id": "55509911-d37c-4f39-abba-023d3a5d039d", "href": [ { "@id": "https://bsky.app/profile/pythonbrasil.bsky.social", @@ -209,7 +310,7 @@ "title": "BlueSky" }, { - "@id": "360468f5-d9a3-41f1-a2c6-e66a79aebda9", + "@id": "fa748813-7100-4e67-9446-f37dffdd1be0", "href": [ { "@id": "https://www.linkedin.com/company/apyb/", @@ -220,7 +321,7 @@ "title": "LinkedIn APyB" }, { - "@id": "b91a5edc-c0bc-4907-98a5-4e57dd45a154", + "@id": "95c6ef13-c200-43be-89f9-724133210ccc", "href": [ { "@id": "https://www.youtube.com/c/pythonbrasiloficial", @@ -231,8 +332,17 @@ "title": "YouTube" } ], + "start": "2025-10-21T12:00:00", "subjects": [], "title": "PythonBrasil 2025", + "tracks": [ + { + "@id": "0194e593-f268-4df2-a217-b6bfd0b0cf8b", + "color": "#000000", + "id": "0194e593-f268-4df2-a217-b6bfd0b0cf8b", + "title": "Ci\u00eancia e An\u00e1lise de Dados" + } + ], "type_title": "Plone Site", "workflow_history": {}, "working_copy": null, diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/discussions.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/discussions.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/discussions.json @@ -0,0 +1 @@ +{} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/portlets.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/portlets.json new file mode 100644 index 0000000..d9df1dc --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/portlets.json @@ -0,0 +1,67 @@ +[ + { + "@id": "http://nohost/Plone", + "UID": "plone_site_root", + "portlets": { + "plone.footerportlets": [ + { + "assignment": { + "macro": "", + "template": "@@footer" + }, + "type": "portlets.Classic", + "visible": true + }, + { + "assignment": { + "category": "site_actions", + "default_icon": "action_icon.png", + "ptitle": "site_actions", + "show_icons": false, + "show_title": false + }, + "type": "portlets.Actions", + "visible": true + }, + { + "assignment": { + "macro": "", + "template": "colophon" + }, + "type": "portlets.Classic", + "visible": true + } + ], + "plone.leftcolumn": [ + { + "assignment": { + "bottomLevel": 0, + "currentFolderOnly": false, + "includeTop": false, + "name": "", + "no_icons": false, + "no_thumbs": false, + "root_uid": null, + "thumb_scale": null, + "topLevel": 1 + }, + "type": "portlets.Navigation", + "visible": true + } + ], + "plone.rightcolumn": [ + { + "assignment": { + "count": 5, + "no_thumbs": false, + "search_base_uid": null, + "state": null, + "thumb_scale": null + }, + "type": "portlets.Events", + "visible": true + } + ] + } + } +] diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/principals.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/principals.json new file mode 100644 index 0000000..1cd68ad --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/principals.json @@ -0,0 +1,38 @@ +{ + "groups": [ + { + "description": "", + "email": "", + "groupid": "Administrators", + "groups": [], + "principals": [], + "roles": [ + "Manager" + ], + "title": "Administrators" + }, + { + "description": "", + "email": "", + "groupid": "Reviewers", + "groups": [], + "principals": [], + "roles": [ + "Reviewer" + ], + "title": "Reviewers" + }, + { + "description": "", + "email": "", + "groupid": "Site Administrators", + "groups": [], + "principals": [], + "roles": [ + "Site Administrator" + ], + "title": "Site Administrators" + } + ], + "members": [] +} diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/redirects.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/redirects.json index 8e4c5da..30ccb14 100644 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/redirects.json +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/redirects.json @@ -1,6 +1,5 @@ { "/Plone/evento/fale-conosco": "/Plone/evento/contato", - "/Plone/programacao": "/Plone/agenda", "/Plone/sobre": "/Plone/evento", "/Plone/sobre/codigo-de-conduta": "/Plone/evento/codigo-de-conduta" } diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/relations.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/relations.json index 96d3fbc..0045582 100644 --- a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/relations.json +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/relations.json @@ -1,7 +1,102 @@ [ { "from_attribute": "isReferencing", - "from_uuid": "3f772cc1b1104023b2a7865f89a1f5be", + "from_uuid": "0b7437380fe441aa8673ceaa662e92c5", + "to_uuid": "005d63f8dd7b41818ae3e5e2ba1f36d9" + }, + { + "from_attribute": "preview_image_link", + "from_uuid": "0b7437380fe441aa8673ceaa662e92c5", + "to_uuid": "747b642b7b444a9ca08fcabd50a702c8" + }, + { + "from_attribute": "isReferencing", + "from_uuid": "17000670d687482992d5a85fdb1f82e6", + "to_uuid": "0b7437380fe441aa8673ceaa662e92c5" + }, + { + "from_attribute": "isReferencing", + "from_uuid": "17000670d687482992d5a85fdb1f82e6", + "to_uuid": "922ba8ede6da49dc850dc25a7e5061e2" + }, + { + "from_attribute": "isReferencing", + "from_uuid": "17000670d687482992d5a85fdb1f82e6", + "to_uuid": "cc193578bdf2480c8274e682b06dbfb9" + }, + { + "from_attribute": "isReferencing", + "from_uuid": "17000670d687482992d5a85fdb1f82e6", + "to_uuid": "de070eedcb854959a6a4be4d87c083e3" + }, + { + "from_attribute": "isReferencing", + "from_uuid": "2348cfad095c4831957c3f87a5194f7b", "to_uuid": "03e3d75a791d4fa98378626ba8f62d07" + }, + { + "from_attribute": "isReferencing", + "from_uuid": "315a2084d7dd400584a2d47cf87b1c89", + "to_uuid": "ad3efc4190bd4ac6b1cc077751d473f0" + }, + { + "from_attribute": "isReferencing", + "from_uuid": "81bb6aa3c33644c296ffbc767b8c05c7", + "to_uuid": "24689ede20f346c09ce7d50b68ff893b" + }, + { + "from_attribute": "isReferencing", + "from_uuid": "81bb6aa3c33644c296ffbc767b8c05c7", + "to_uuid": "75b28d31bea949fcae586531699f0f88" + }, + { + "from_attribute": "isReferencing", + "from_uuid": "81bb6aa3c33644c296ffbc767b8c05c7", + "to_uuid": "ac949e0e29524a619dfb4caf015085ba" + }, + { + "from_attribute": "isReferencing", + "from_uuid": "81bb6aa3c33644c296ffbc767b8c05c7", + "to_uuid": "c630576df3264cb0ad7799d28f52a393" + }, + { + "from_attribute": "isReferencing", + "from_uuid": "922ba8ede6da49dc850dc25a7e5061e2", + "to_uuid": "005d63f8dd7b41818ae3e5e2ba1f36d9" + }, + { + "from_attribute": "preview_image_link", + "from_uuid": "922ba8ede6da49dc850dc25a7e5061e2", + "to_uuid": "bb8dcc0085c64d9cbc2757a4df392701" + }, + { + "from_attribute": "isReferencing", + "from_uuid": "ac949e0e29524a619dfb4caf015085ba", + "to_uuid": "ad3efc4190bd4ac6b1cc077751d473f0" + }, + { + "from_attribute": "preview_image_link", + "from_uuid": "ad3efc4190bd4ac6b1cc077751d473f0", + "to_uuid": "75b28d31bea949fcae586531699f0f88" + }, + { + "from_attribute": "isReferencing", + "from_uuid": "cc193578bdf2480c8274e682b06dbfb9", + "to_uuid": "005d63f8dd7b41818ae3e5e2ba1f36d9" + }, + { + "from_attribute": "preview_image_link", + "from_uuid": "cc193578bdf2480c8274e682b06dbfb9", + "to_uuid": "3ae5a29af55148b2a69e2997155775ce" + }, + { + "from_attribute": "isReferencing", + "from_uuid": "de070eedcb854959a6a4be4d87c083e3", + "to_uuid": "005d63f8dd7b41818ae3e5e2ba1f36d9" + }, + { + "from_attribute": "preview_image_link", + "from_uuid": "de070eedcb854959a6a4be4d87c083e3", + "to_uuid": "e04f2f42f76d4742a4c8d648339ca6b9" } ] diff --git a/backend/src/pythonbrasil/site/setuphandlers/examplecontent/translations.json b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/translations.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/backend/src/pythonbrasil/site/setuphandlers/examplecontent/translations.json @@ -0,0 +1 @@ +[] diff --git a/backend/src/pythonbrasil/site/upgrades/configure.zcml b/backend/src/pythonbrasil/site/upgrades/configure.zcml index 4b65075..d508db4 100644 --- a/backend/src/pythonbrasil/site/upgrades/configure.zcml +++ b/backend/src/pythonbrasil/site/upgrades/configure.zcml @@ -4,6 +4,7 @@ > + diff --git a/backend/src/pythonbrasil/site/upgrades/v20250616001/__init__.py b/backend/src/pythonbrasil/site/upgrades/v20250616001/__init__.py new file mode 100644 index 0000000..ffc6326 --- /dev/null +++ b/backend/src/pythonbrasil/site/upgrades/v20250616001/__init__.py @@ -0,0 +1,30 @@ +from pathlib import Path +from plone import api +from Products.GenericSetup.tool import SetupTool +from pythonbrasil.site import logger +from pythonbrasil.site.setuphandlers.initial import create_example_content + + +BASE_PATH = Path(__file__).parent + + +def remove_pasta_patrocinio(setup_tool: SetupTool): + """Remove a pasta /patrocine.""" + logger.info("Removendo a pasta /patrocine") + pasta = api.content.get(path="/patrocine") + api.content.delete(pasta, check_linkintegrity=False) + logger.info("Pasta /patrocine removida") + + +def remove_pasta_agenda(setup_tool: SetupTool): + """Remove a pasta /agenda.""" + logger.info("Removendo a pasta /agenda") + pasta = api.content.get(path="/agenda") + api.content.delete(pasta, check_linkintegrity=False) + logger.info("Pasta /agenda removida") + + +def configura_techevent(setup_tool: SetupTool): + """Configura techevent.""" + create_example_content(setup_tool) + logger.info("Atualizando o conteúdo do site") diff --git a/backend/src/pythonbrasil/site/upgrades/v20250616001/configure.zcml b/backend/src/pythonbrasil/site/upgrades/v20250616001/configure.zcml new file mode 100644 index 0000000..8daca39 --- /dev/null +++ b/backend/src/pythonbrasil/site/upgrades/v20250616001/configure.zcml @@ -0,0 +1,37 @@ + + + + + + + + + + + + diff --git a/backend/tests/setup/test_setup_install.py b/backend/tests/setup/test_setup_install.py index 4ec9b3b..b007627 100644 --- a/backend/tests/setup/test_setup_install.py +++ b/backend/tests/setup/test_setup_install.py @@ -14,4 +14,4 @@ def test_browserlayer(self, browser_layers): def test_latest_version(self, profile_last_version): """Test latest version of default profile.""" - assert profile_last_version(f"{PACKAGE_NAME}:default") == "20250425001" + assert profile_last_version(f"{PACKAGE_NAME}:default") == "20250616001" diff --git a/backend/uv.lock b/backend/uv.lock index 07e9806..aa7573e 100644 --- a/backend/uv.lock +++ b/backend/uv.lock @@ -42,6 +42,7 @@ constraints = [ { name = "collective-recipe-omelette", specifier = "==2.0.0" }, { name = "collective-recipe-template", specifier = "==2.2" }, { name = "collective-recipe-vscode", specifier = "==0.1.9" }, + { name = "collective-techevent", specifier = "==1.0.0a5" }, { name = "collective-xmltestreport", specifier = "==2.0.2" }, { name = "collective-z3cform-datagridfield", specifier = "==3.0.3" }, { name = "colorama", specifier = "==0.4.6" }, @@ -117,7 +118,7 @@ constraints = [ { name = "outcome", specifier = "==1.3.0.post0" }, { name = "overrides", specifier = "==7.7.0" }, { name = "packaging", specifier = "==24.2" }, - { name = "pas-plugins-authomatic", specifier = "==2.0.0rc3" }, + { name = "pas-plugins-authomatic", specifier = "==2.0.0" }, { name = "paste", specifier = "==3.10.1" }, { name = "pastedeploy", specifier = "==3.1.0" }, { name = "pdbpp", specifier = "==0.10.3" }, @@ -233,7 +234,7 @@ constraints = [ { name = "plone-versioncheck", specifier = "==1.8.2" }, { name = "plone-volto", specifier = "==5.0.4" }, { name = "plone-z3cform", specifier = "==2.0.4" }, - { name = "plonegovbr-socialmedia", specifier = "==2.0.0a5" }, + { name = "plonegovbr-socialmedia", specifier = ">=2.0.0a5" }, { name = "plonetheme-barceloneta", specifier = "==3.2.3" }, { name = "pluggy", specifier = "==1.5.0" }, { name = "products-btreefolder2", specifier = "==5.1" }, @@ -753,6 +754,23 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/84/89/02f5a44aeae4a415c2c93ae4174941fa1b99669d91705e58161afa8613f4/collective_monkeypatcher-2.0.0-py3-none-any.whl", hash = "sha256:8cde16accc65770ddc7a151540267c711d44afb1e7ce3815711b39c6497ad628", size = 12930 }, ] +[[package]] +name = "collective-techevent" +version = "1.0.0a5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "collective-z3cform-datagridfield" }, + { name = "plone-api" }, + { name = "plone-restapi" }, + { name = "plone-volto" }, + { name = "plonegovbr-socialmedia" }, + { name = "products-cmfplone" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/79/18/7a9fbc5f84d5f7b24dfde8225c39901fabc0b73b2884ddceafaf78dc0f83/collective_techevent-1.0.0a5.tar.gz", hash = "sha256:d390100880648d61eaab411425ad7b7df1fae677385047a6bc8c1e6196139065", size = 3535526 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/24/002f5f4cacfd7c574a58ac1936227632852eade5036a25b246cfa4cca520/collective_techevent-1.0.0a5-py3-none-any.whl", hash = "sha256:c5126f2cc3f079a58a0bafdf98d3bf3f1afd8a431e45b69d092850c27fafa57f", size = 3581370 }, +] + [[package]] name = "collective-volto-formsupport" version = "3.2.3" @@ -794,6 +812,27 @@ dependencies = [ ] sdist = { url = "https://files.pythonhosted.org/packages/40/b2/943899f15dd832e1f004318fa77fa5fe825eebccd237e750efa64c1abd43/collective.volto.otp-1.0.1.tar.gz", hash = "sha256:8b54dd62995a61a0318bed48e4f8f2d4da5984a73d333d6359d425f71a0c58d1", size = 28687 } +[[package]] +name = "collective-z3cform-datagridfield" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "plone-app-dexterity" }, + { name = "plone-app-z3cform" }, + { name = "plone-autoform" }, + { name = "plone-base" }, + { name = "plone-dexterity" }, + { name = "plone-restapi" }, + { name = "plone-supermodel" }, + { name = "products-genericsetup" }, + { name = "setuptools" }, + { name = "z3c-form" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2b/69/fb5f0e9828b25fe946b3f65c83e4a8e7618de17252c377b71361ceb5d4a3/collective_z3cform_datagridfield-3.0.3.tar.gz", hash = "sha256:8cd37430680909433fd54c42e2349d5d011877591431af1cb282b7373d27b678", size = 559398 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/61/b8/362a2394c861c0fa66bd471b68b7a4644000c843a17314e992cc74ffdea5/collective.z3cform.datagridfield-3.0.3-py3-none-any.whl", hash = "sha256:645c2323e638cf275776c5ef66171cc24f785e2950ee2469e090c8c8489499d3", size = 391106 }, +] + [[package]] name = "colorama" version = "0.4.6" @@ -1432,7 +1471,7 @@ wheels = [ [[package]] name = "pas-plugins-authomatic" -version = "2.0.0rc3" +version = "2.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "authomatic" }, @@ -1440,9 +1479,9 @@ dependencies = [ { name = "plone-restapi" }, { name = "products-cmfplone" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c9/7f/d7ad945decb6d32048d56a5b242ac45f64b1f5bafd2d763c23d950e026a4/pas_plugins_authomatic-2.0.0rc3.tar.gz", hash = "sha256:f7affc49c094380ef612583f3d3c56c8c16fd2cdbfcddac70106b223cb941610", size = 185098 } +sdist = { url = "https://files.pythonhosted.org/packages/2c/7b/84920c8cb580432134c542a7137c2c3569a182f0a1fb25b1328fa7239995/pas_plugins_authomatic-2.0.0.tar.gz", hash = "sha256:7c6b9eb2558c8ff6aa6703578d6498cf291bd3d5684753ee753e1bf61ccaf709", size = 184905 } wheels = [ - { url = "https://files.pythonhosted.org/packages/32/b3/15cdc58097dd9a253c5914f455d0254989caeeafe7c073bcbbcc25816525/pas_plugins_authomatic-2.0.0rc3-py3-none-any.whl", hash = "sha256:9e90e35ae92a3edc76611f71a8b5f2c91889c8f26707b8c559ea60e9ea2fc6f2", size = 62851 }, + { url = "https://files.pythonhosted.org/packages/e8/52/4ff1fe71cffc3a9318c314115899172b18b46cf3c684767d0f3e1f204f7e/pas_plugins_authomatic-2.0.0-py3-none-any.whl", hash = "sha256:41ce9149c93dc1ddec5098a1a7a4b8c737662d3454d3499ad237430619a2b853", size = 62564 }, ] [[package]] @@ -4370,6 +4409,7 @@ name = "pythonbrasil-site" source = { editable = "." } dependencies = [ { name = "collective-honeypot" }, + { name = "collective-techevent" }, { name = "collective-volto-formsupport" }, { name = "pas-plugins-authomatic" }, { name = "plone-api" }, @@ -4405,8 +4445,9 @@ test = [ [package.metadata] requires-dist = [ { name = "collective-honeypot" }, + { name = "collective-techevent", specifier = "==1.0.0a5" }, { name = "collective-volto-formsupport" }, - { name = "pas-plugins-authomatic", specifier = "==2.0.0rc3" }, + { name = "pas-plugins-authomatic", specifier = "==2.0.0" }, { name = "plone-api" }, { name = "plone-app-discussion" }, { name = "plone-app-upgrade" }, diff --git a/frontend/mrs.developer.json b/frontend/mrs.developer.json index 2b2bc7b..5f1f16e 100644 --- a/frontend/mrs.developer.json +++ b/frontend/mrs.developer.json @@ -4,6 +4,7 @@ "package": "@plone/volto", "url": "git@github.com:plone/volto.git", "https": "https://github.com/plone/volto.git", - "tag": "18.14.0" + "tag": "18.23.0", + "filterBlobs": true } } diff --git a/frontend/packages/volto-pythonbrasil-site/news/+authomatic.internal b/frontend/packages/volto-pythonbrasil-site/news/+authomatic.internal new file mode 100644 index 0000000..251e533 --- /dev/null +++ b/frontend/packages/volto-pythonbrasil-site/news/+authomatic.internal @@ -0,0 +1 @@ +Atualiza `@plone-collective/volto-authomatic` para versão 3.0.0-alpha.3. @ericof diff --git a/frontend/packages/volto-pythonbrasil-site/news/+techevent.feature b/frontend/packages/volto-pythonbrasil-site/news/+techevent.feature new file mode 100644 index 0000000..46f193c --- /dev/null +++ b/frontend/packages/volto-pythonbrasil-site/news/+techevent.feature @@ -0,0 +1 @@ +Adiciona `@plone-collective/volto-techevent`. @ericof diff --git a/frontend/packages/volto-pythonbrasil-site/news/+vlt.internal b/frontend/packages/volto-pythonbrasil-site/news/+vlt.internal new file mode 100644 index 0000000..0297693 --- /dev/null +++ b/frontend/packages/volto-pythonbrasil-site/news/+vlt.internal @@ -0,0 +1 @@ +Atualiza `@kitconcept/voltolighttheme` para versão 7.0.0-alpha.10. @ericof diff --git a/frontend/packages/volto-pythonbrasil-site/news/+volto.internal b/frontend/packages/volto-pythonbrasil-site/news/+volto.internal new file mode 100644 index 0000000..413f098 --- /dev/null +++ b/frontend/packages/volto-pythonbrasil-site/news/+volto.internal @@ -0,0 +1 @@ +Atualiza `@plone/volto` para versão 18.23.0. @ericof diff --git a/frontend/packages/volto-pythonbrasil-site/package.json b/frontend/packages/volto-pythonbrasil-site/package.json index 9ffd7e4..23d9e7d 100644 --- a/frontend/packages/volto-pythonbrasil-site/package.json +++ b/frontend/packages/volto-pythonbrasil-site/package.json @@ -27,6 +27,7 @@ "release-alpha": "release-it --preRelease=alpha" }, "addons": [ + "@eeacms/volto-matomo", "@eeacms/volto-accordion-block", "@kitconcept/volto-slider-block", "@kitconcept/volto-social-blocks", @@ -39,25 +40,28 @@ "@plone-collective/volto-authomatic", "@plone-collective/volto-eventbrite-block", "@kitconcept/volto-heading-block", - "@kitconcept/volto-light-theme", - "@eeacms/volto-matomo" + "@plone-collective/volto-techevent", + "@kitconcept/volto-light-theme" ], "dependencies": { "@plone/components": "workspace:*", "@plone/registry": "workspace:*", "@eeacms/volto-matomo": "*", "@eeacms/volto-statistic-block": "*", - "@kitconcept/volto-light-theme": "^6.0.0-alpha.22", + "@plone-collective/volto-techevent": "1.0.0-alpha.5", + "@kitconcept/volto-light-theme": "7.0.0-alpha.10", "@kitconcept/volto-social-blocks": "1.0.0-alpha.8", "@mbarde/volto-image-crop-widget": "0.5.1", - "@plone-collective/volto-authomatic": "2.0.1", + "@plone-collective/volto-authomatic": "3.0.0-alpha.3", "@plone-collective/volto-eventbrite-block": "^1.0.0-alpha.2", - "@plonegovbr/volto-social-media": "^2.0.0-alpha.5", + "@plonegovbr/volto-social-media": "^2.0.0-alpha.6", "volto-form-block": "*" }, "peerDependencies": { "react": "18.2.0", - "react-dom": "18.2.0" + "react-dom": "18.2.0", + "react-portal": "*", + "@eeacms/volto-accordion-block": "*" }, "devDependencies": { "@plone/scripts": "workspace:*", diff --git a/frontend/packages/volto-pythonbrasil-site/src/components/Blocks/Teaser/SimpleBodyTemplate.jsx b/frontend/packages/volto-pythonbrasil-site/src/components/Blocks/Teaser/SimpleBodyTemplate.jsx deleted file mode 100644 index e7e4e5b..0000000 --- a/frontend/packages/volto-pythonbrasil-site/src/components/Blocks/Teaser/SimpleBodyTemplate.jsx +++ /dev/null @@ -1,9 +0,0 @@ -import TeaserDefaultTemplate from '@plone/volto/components/manage/Blocks/Teaser/DefaultBody'; - -const SimpleBodyTemplate = (props) => { - let { className } = props; - className = `${className} simpleTemplate`; - return ; -}; - -export default SimpleBodyTemplate; diff --git a/frontend/packages/volto-pythonbrasil-site/src/config/blocks.ts b/frontend/packages/volto-pythonbrasil-site/src/config/blocks.ts index d9d74af..dafbe65 100644 --- a/frontend/packages/volto-pythonbrasil-site/src/config/blocks.ts +++ b/frontend/packages/volto-pythonbrasil-site/src/config/blocks.ts @@ -4,9 +4,6 @@ import { composeSchema } from '@plone/volto/helpers/Extensions'; import { defaultStylingSchema } from '@kitconcept/volto-light-theme/components/Blocks/schema'; // Blocks -/// Teaser -import TeaserDefaultTemplate from '@plone/volto/components/manage/Blocks/Teaser/DefaultBody'; - /// GridCTA import GridCTAEdit from '@plonegovbr/volto-pythonbrasil-site/components/Blocks/GridCTA/Edit'; import GridCTAView from '@plonegovbr/volto-pythonbrasil-site/components/Blocks/GridCTA/View'; @@ -21,6 +18,7 @@ import chamadaSVG from '@plone/volto/icons/asterisk.svg'; declare module '@plone/types' { export interface BlocksConfigData { + accordion: BlockConfigBase; gridCTA: BlockConfigBase; chamadaBlock: BlockConfigBase; } @@ -69,26 +67,6 @@ function installBlocks(config: ConfigType) { return config; } -function installTeaserVariations(config: ConfigType) { - const teaserVariations = [ - { - id: 'default', - isDefault: true, - title: 'Default', - template: TeaserDefaultTemplate, - }, - ]; - config.blocks.blocksConfig.teaser = { - ...config.blocks.blocksConfig.teaser, - variations: teaserVariations, - }; - config.blocks.blocksConfig.gridBlock.blocksConfig.teaser = { - ...config.blocks.blocksConfig.gridBlock.blocksConfig.teaser, - variations: teaserVariations, - }; - return config; -} - function installBlockTheme(config: ConfigType) { // Palettes config.blocks.themes = [ @@ -162,7 +140,6 @@ function installBlockTheme(config: ConfigType) { export default function install(config: ConfigType) { installBlocks(config); installBlockTheme(config); - installTeaserVariations(config); config.blocks.blocksConfig.gridCTA.schemaEnhancer = composeSchema(defaultStylingSchema); config.blocks.blocksConfig.chamadaBlock.schemaEnhancer = @@ -170,6 +147,16 @@ export default function install(config: ConfigType) { config.blocks.blocksConfig.image.schemaEnhancer = composeSchema(defaultStylingSchema); + config.blocks.blocksConfig.accordion = { + ...config.blocks.blocksConfig.accordion, + blocksConfig: { + ...config.blocks.blocksConfig, + }, + allowedBlocks: [ + ...config.blocks.blocksConfig.accordion.allowedBlocks, + 'levelBenefitsBlock', + ], + }; config.blocks.blocksConfig.gridBlock = { ...config.blocks.blocksConfig.gridBlock, blocksConfig: { @@ -181,6 +168,7 @@ export default function install(config: ConfigType) { 'testimonials', '__button', 'gridCTA', + 'levelBenefitsBlock', ], }; return config; diff --git a/frontend/packages/volto-pythonbrasil-site/src/config/settings.ts b/frontend/packages/volto-pythonbrasil-site/src/config/settings.ts index 0c2c1d5..604d967 100644 --- a/frontend/packages/volto-pythonbrasil-site/src/config/settings.ts +++ b/frontend/packages/volto-pythonbrasil-site/src/config/settings.ts @@ -17,7 +17,7 @@ export default function install(config: ConfigType) { GET_CONTENT: ['inherit'], querystring: { 'expand.inherit.behaviors': - 'plonegovbr.socialmedia.settings,pythonbrasil.footer', + 'collective.techevent.event_settings,plonegovbr.socialmedia.settings,pythonbrasil.footer', }, }, ]; diff --git a/frontend/packages/volto-pythonbrasil-site/src/customizations/@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/Edit.jsx b/frontend/packages/volto-pythonbrasil-site/src/customizations/@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/Edit.jsx new file mode 100644 index 0000000..fc14d17 --- /dev/null +++ b/frontend/packages/volto-pythonbrasil-site/src/customizations/@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/Edit.jsx @@ -0,0 +1,477 @@ +import { + BlocksForm, + Icon, + SidebarPortal, + BlocksToolbar, + BlockDataForm, +} from '@plone/volto/components'; +import { + emptyBlocksForm, + getBlocksLayoutFieldname, + withBlockExtensions, +} from '@plone/volto/helpers'; +import { cloneDeepSchema } from '@plone/volto/helpers/Utils/Utils'; +import helpSVG from '@plone/volto/icons/help.svg'; +import { isEmpty, without, pickBy } from 'lodash'; +import React, { useState } from 'react'; +import { Button, Segment } from 'semantic-ui-react'; +import { defineMessages, useIntl } from 'react-intl'; +import AccordionEdit from '@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/AccordionEdit'; +import AccordionFilter from '@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/AccordionFilter'; +import EditBlockWrapper from '@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/EditBlockWrapper'; +import '@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/editor.less'; +import { AccordionBlockSchema } from '@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/Schema'; +import { + emptyAccordion, + getPanels, +} from '@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/util'; +import config from '@plone/volto/registry'; + +const messages = defineMessages({ + SectionHelp: { + id: 'Section help', + defaultMessage: 'Section help', + }, + AccordionBlock: { + id: 'Accordion block', + defaultMessage: 'Accordion block', + }, + Accordion: { + id: 'Accordion', + defaultMessage: 'Accordion', + }, +}); + +const Edit = (props) => { + const [selectedBlock, setSelectedBlock] = useState({}); + const [multiSelected, setMultiSelected] = useState([]); + const [filterValue, setFilterValue] = useState(''); + const { + block, + data, + onChangeBlock, + onChangeField, + pathname, + selected, + manage, + formDescription, + content, + } = props; + + const intl = useIntl(); + const properties = isEmpty(data?.data?.blocks) + ? emptyAccordion(3) + : data.data; + const metadata = props.metadata || props.properties; + const [currentUid, setCurrentUid] = useState(''); + + const onSelectBlock = (uid, id, isMultipleSelection, event, activeBlock) => { + let newMultiSelected = []; + let selected = id; + + if (Object.values(activeBlock || {})?.length > 0) { + activeBlock = Object.values(activeBlock)[0]; + } + if (data?.data?.blocks?.hasOwnProperty(uid) && isMultipleSelection) { + selected = null; + const blocksLayoutFieldname = getBlocksLayoutFieldname( + data.data.blocks[uid], + ); + + const blocks_layout = data.data.blocks[uid][blocksLayoutFieldname].items; + + if (event.shiftKey) { + const anchor = + multiSelected.length > 0 + ? blocks_layout.indexOf(multiSelected[0]) + : blocks_layout.indexOf(activeBlock); + const focus = blocks_layout.indexOf(id); + if (anchor === focus) { + newMultiSelected = [id]; + } else if (focus > anchor) { + newMultiSelected = [...blocks_layout.slice(anchor, focus + 1)]; + } else { + newMultiSelected = [...blocks_layout.slice(focus, anchor + 1)]; + } + } + if ((event.ctrlKey || event.metaKey) && !event.shiftKey) { + if (multiSelected.includes(id)) { + selected = null; + newMultiSelected = without(multiSelected, id); + } else { + newMultiSelected = [...(multiSelected || []), id]; + } + } + } + + setSelectedBlock({ [uid]: selected }); + setCurrentUid(uid); + setMultiSelected(newMultiSelected); + }; + + const searchElementInMultiSelection = (uid, blockprops) => { + return !!multiSelected.find((el) => el === blockprops.block); + }; + + const applySchemaEnhancer = (originalSchema) => { + let schema, schemaEnhancer; + const formData = data; + const { blocks } = config; + + const blockType = formData['@type']; + const variations = blocks?.blocksConfig[blockType]?.variations || []; + + if (variations.length === 0) { + // No variations present but anyways + // finalize the schema with a schemaEnhancer in the block config is present + schemaEnhancer = blocks.blocksConfig?.[blockType]?.schemaEnhancer; + if (schemaEnhancer) + schema = schemaEnhancer({ schema: originalSchema, formData, intl }); + } + + const activeItemName = formData?.variation; + let activeItem = variations.find((item) => item.id === activeItemName); + if (!activeItem) activeItem = variations.find((item) => item.isDefault); + + schemaEnhancer = activeItem?.['schemaEnhancer']; + + schema = schemaEnhancer + ? schemaEnhancer({ + schema: cloneDeepSchema(originalSchema), + formData, + intl, + }) + : cloneDeepSchema(originalSchema); + + return schema; + }; + + /** + * Will set field values from schema, by matching the default values + * @returns {Object} defaultValues + */ + const setInitialData = () => { + const accordionSchema = applySchemaEnhancer(AccordionBlockSchema({ intl })); + const defaultValues = Object.keys(accordionSchema.properties).reduce( + (accumulator, currentVal) => { + return accordionSchema.properties[currentVal].default + ? { + ...accumulator, + [currentVal]: accordionSchema.properties[currentVal].default, + } + : accumulator; + }, + {}, + ); + + return { + ...defaultValues, + ...data, + data: { + ...properties, + }, + }; + }; + + React.useEffect(() => { + if (isEmpty(data?.data)) { + onChangeBlock(block, setInitialData()); + } + /* eslint-disable-next-line */ + }, []); + + React.useEffect(() => { + properties.blocks_layout.items.map((item) => { + if (isEmpty(properties.blocks[item]?.blocks)) { + return onChangeBlock(block, { + ...data, + data: { + ...properties, + blocks: { + ...properties.blocks, + [item]: emptyBlocksForm(), + }, + }, + }); + } + return undefined; + }); + }, [ + onChangeBlock, + properties, + selectedBlock, + block, + data, + properties.blocks, + ]); + + const blockState = {}; + const panelData = properties; + const panels = getPanels(panelData); + + const handleTitleChange = (e, value) => { + const [uid, panel] = value; + const modifiedBlock = { + ...panel, + title: e.target.value, + '@type': 'accordionPanel', + }; + onChangeBlock(block, { + ...data, + data: { + ...panelData, + blocks: { + ...panelData.blocks, + [uid]: modifiedBlock, + }, + }, + }); + }; + + const handleFilteredValueChange = (value) => { + setFilterValue(value); + }; + + // Get editing instructions from block settings or props + let instructions = data?.instructions?.data || data?.instructions; + if (!instructions || instructions === '


') { + instructions = formDescription; + } + + const changeBlockData = (newBlockData) => { + const selectedIndex = + data.data.blocks[currentUid].blocks_layout.items.indexOf( + Object.values(selectedBlock)[0], + ) + 1; + let pastedBlocks = Object.entries(newBlockData.blocks).filter((block) => { + let key = block[0]; + + return !data?.data?.blocks[currentUid].blocks_layout.items.find( + (x) => x === key, + ); + }); + + let blockLayout = pastedBlocks.map((el) => el[0]); + + onChangeBlock(block, { + ...data, + data: { + blocks: { + ...data.data.blocks, + [currentUid]: { + ...data.data.blocks[currentUid], + ...newBlockData, + blocks_layout: { + items: [ + ...data.data.blocks[currentUid].blocks_layout.items.slice( + 0, + selectedIndex, + ), + ...blockLayout, + ...data.data.blocks[currentUid].blocks_layout.items.slice( + selectedIndex, + ), + ], + }, + }, + }, + blocks_layout: data.data.blocks_layout, + }, + }); + }; + + const blockConfig = config.blocks.blocksConfig.accordion; + const blocksConfig = blockConfig.blocksConfig || props.blocksConfig; + // The accordion is able to get the allowedBlocks info from the custom DX layout + // Fallback to the blockConfig one + const allowedBlocks = data.allowedBlocks || blockConfig.allowedBlocks; + + const allowedBlocksConfig = allowedBlocks + ? pickBy(blocksConfig, (value, key) => allowedBlocks.includes(key)) + : blocksConfig; + + const schema = AccordionBlockSchema({ intl }); + return ( + <> + {data.headline &&

{data.headline}

} +
+ { + setSelectedBlock({}); + props.setSidebarTab(1); + }} + aria-hidden="true" + > + {data.title || 'Accordion'} + + {data.filtering && ( + + )} + {panels + .filter( + (panel) => + !data.filtering || + filterValue === '' || + (filterValue !== '' && + panel[1].title + ?.toLowerCase() + .includes(filterValue.toLowerCase())), + ) + .map(([uid, panel], index) => ( + setSelectedBlock({})} + data={data} + index={index} + key={`accordion-${index}`} + > + { + const isMultipleSelection = e + ? e.shiftKey || e.ctrlKey || e.metaKey + : false; + onSelectBlock(uid, id, isMultipleSelection, e, selectedBlock); + }} + onChangeFormData={(newFormData) => { + onChangeBlock(block, { + ...data, + data: { + ...panelData, + blocks: { + ...panelData.blocks, + [uid]: newFormData, + }, + }, + }); + }} + onChangeField={(id, value) => { + if (['blocks', 'blocks_layout'].indexOf(id) > -1) { + blockState[id] = value; + onChangeBlock(block, { + ...data, + data: { + ...panelData, + blocks: { + ...panelData.blocks, + [uid]: { + ...panelData.blocks?.[uid], + ...blockState, + }, + }, + }, + }); + } else { + onChangeField(id, value); + } + }} + pathname={pathname} + > + {({ draginfo }, editBlock, blockProps) => { + return ( + + {instructions && ( + <> + + + )} + + } + > + {editBlock} + + ); + }} + + + ))} + {selected ? ( + { + setMultiSelected(blockIds); + }} + onSelectBlock={(id, l, e) => { + const isMultipleSelection = e + ? e.shiftKey || e.ctrlKey || e.metaKey + : false; + + onSelectBlock(id, isMultipleSelection, e, selectedBlock); + }} + onChangeBlocks={(newBlockData) => { + changeBlockData(newBlockData); + }} + /> + ) : ( + '' + )} + + + {instructions && ( + +
+ + )} + {!data?.readOnlySettings && ( + { + onChangeBlock(block, { + ...data, + [id]: value, + }); + }} + formData={data} + block={block} + blocksConfig={blocksConfig} + onChangeBlock={onChangeBlock} + /> + )} + +
+ + ); +}; + +export default withBlockExtensions(Edit); diff --git a/frontend/packages/volto-pythonbrasil-site/src/customizations/@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/EditBlockWrapper.jsx b/frontend/packages/volto-pythonbrasil-site/src/customizations/@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/EditBlockWrapper.jsx new file mode 100644 index 0000000..dafe9b1 --- /dev/null +++ b/frontend/packages/volto-pythonbrasil-site/src/customizations/@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/EditBlockWrapper.jsx @@ -0,0 +1,152 @@ +import React from 'react'; +import { Icon } from '@plone/volto/components'; +import { + blockHasValue, + buildStyleClassNamesFromData, +} from '@plone/volto/helpers'; +import config from '@plone/volto/registry'; +import { Button } from 'semantic-ui-react'; +import includes from 'lodash/includes'; +import isBoolean from 'lodash/isBoolean'; +import { defineMessages, injectIntl } from 'react-intl'; +import cx from 'classnames'; +import NewBlockAddButton from '@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/NewBlockAddButton'; + +import dragSVG from '@plone/volto/icons/drag.svg'; +import trashSVG from '@plone/volto/icons/delete.svg'; + +const messages = defineMessages({ + unknownBlock: { + id: 'Unknown Block', + defaultMessage: 'Unknown Block {block}', + }, + delete: { + id: 'delete', + defaultMessage: 'delete', + }, + dragAndDrop: { + id: 'Drag and drop', + defaultMessage: 'Drag and drop', + }, + removeBlock: { + id: 'Remove block', + defaultMessage: 'Remove block', + }, +}); + +class EditBlockWrapper extends React.Component { + render() { + const { + intl, + blockProps, + draginfo, + extraControls, + disabled, + children, + baseProperties, + } = this.props; + + const { + block, + data, + onDeleteBlock, + onInsertBlock, + onSelectBlock, + selected, + index, + blocksConfig, + } = blockProps; + const type = data['@type']; + const { disableNewBlocks } = data; + const dragVisible = !data.fixed; + const visible = selected; + + const required = isBoolean(data.required) + ? data.required + : includes(config.blocks.requiredBlocks, type); + + const styles = buildStyleClassNamesFromData(data.styles); + + return ( +
+
+ {(!selected || !visible || disabled) && ( +
+ )} + {visible && ( +
+ {extraControls} + + {!disabled && ( + <> +
+ +
+ + {!disableNewBlocks && !blockHasValue(data) && ( + { + onSelectBlock(onInsertBlock(id, value)); + }} + /> + )} + + {!required && ( + + )} + + )} +
+ )} + +
+ {children} +
+
+
+ ); + } +} + +export default injectIntl(EditBlockWrapper); diff --git a/frontend/packages/volto-pythonbrasil-site/src/customizations/@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/NewBlockAddButton.jsx b/frontend/packages/volto-pythonbrasil-site/src/customizations/@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/NewBlockAddButton.jsx new file mode 100644 index 0000000..e176dfd --- /dev/null +++ b/frontend/packages/volto-pythonbrasil-site/src/customizations/@eeacms/volto-accordion-block/components/manage/Blocks/Accordion/NewBlockAddButton.jsx @@ -0,0 +1,96 @@ +import React from 'react'; +import { defineMessages, injectIntl } from 'react-intl'; +import { Button, Ref } from 'semantic-ui-react'; +import { BlockChooser, Icon } from '@plone/volto/components'; +import { usePopper } from 'react-popper'; +import { Portal } from 'react-portal'; +import addSVG from '@plone/volto/icons/add.svg'; + +const messages = defineMessages({ + AddBlockInPosition: { + id: 'add_block_in_position', + defaultMessage: 'Add block in position', + }, +}); + +const OpenedBlocksChooser = (props) => { + const { blocksConfig, block, onInsertBlock, baseProperties } = props; + const ref = React.useRef(null); + + function handleClickOutside(event) { + if (ref.current && !ref.current.contains(event.target)) { + props.setOpenMenu(false); + } + } + + React.useEffect(() => { + document.body.addEventListener('mousedown', handleClickOutside); + return () => { + document.body.removeEventListener('mousedown', handleClickOutside); + }; + }); + + return ( + + ); +}; + +const NewBlockAddButton = (props) => { + const { index, intl } = props; + const [isOpenMenu, setOpenMenu] = React.useState(false); + + const [referenceElement, setReferenceElement] = React.useState(null); + const [popperElement, setPopperElement] = React.useState(null); + const { styles, attributes } = usePopper(referenceElement, popperElement, { + placement: 'left', + modifiers: [ + { + name: 'offset', + options: { + offset: [0, 0], + }, + }, + { + name: 'flip', + }, + ], + }); + + return ( + <> + + + + +
+ {isOpenMenu ? ( + + ) : null} +
+
+ + ); +}; + +export default injectIntl(NewBlockAddButton); diff --git a/frontend/packages/volto-pythonbrasil-site/src/customizations/@plone-collective/volto-techevent/components/Blocks/Sponsors/LevelComparison/View.tsx b/frontend/packages/volto-pythonbrasil-site/src/customizations/@plone-collective/volto-techevent/components/Blocks/Sponsors/LevelComparison/View.tsx new file mode 100644 index 0000000..e372f72 --- /dev/null +++ b/frontend/packages/volto-pythonbrasil-site/src/customizations/@plone-collective/volto-techevent/components/Blocks/Sponsors/LevelComparison/View.tsx @@ -0,0 +1,115 @@ +import React from 'react'; +import cx from 'classnames'; +import { useIntl } from 'react-intl'; +import { Container } from '@plone/components'; +import Image from '@plone/volto/components/theme/Image/Image'; +import { useEventSettings } from '@plone-collective/volto-techevent/hooks/useEventSettings'; +import { useSponsors } from '@plone-collective/volto-techevent/hooks/useSponsors'; +import type { BlockViewProps } from '@plone/types'; +import messages from '@plone-collective/volto-techevent/messages'; + +const BenefitHeaderRow = ({ title, displayLevels }) => { + return ( + + + {title} + + {displayLevels.map((level, idx) => ( + +
+
+ {level.title} +
+ +
+ + ))} + + ); +}; + +const BenefitRow = ({ benefit, displayLevels }) => { + return ( + + + {benefit.title} +
+ {benefit.description} + + {displayLevels.map((level, idx) => { + const value = benefit.levels[level.id]; + const displayValue = value === undefined ? '' : value || '✅'; + return ( + + {displayValue} + + ); + })} + + ); +}; + +const View: React.FC = ({ + data, + className, + style, + content, + properties, +}) => { + const { title, tableTitle } = data; + const intl = useIntl(); + + // Use hook only if eventRoot exists + const eventRoot = useEventSettings()?.eventRoot; + const { benefits, levels } = useSponsors(eventRoot ?? ''); + const allBenefits = + benefits && + benefits.reduce((obj, benefit) => { + obj[benefit.id] = benefit; + return obj; + }, {}); + const displayLevels = levels + ? levels.filter((level) => !level.exclude_from_nav) + : []; + const benefitsIds = benefits ? benefits.map((benefit) => benefit.id) : []; + const displayTable = benefitsIds && benefitsIds.length > 0 && displayLevels; + return ( + + {title && ( + {title} + )} + {displayTable && ( + + + + + + + {benefitsIds.map((benefitId, idy) => { + const benefit = allBenefits[benefitId]; + return ( + benefit && ( + + ) + ); + })} + +
+
+ )} +
+ ); +}; + +export default View; diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/_layout.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/_layout.scss index b2710de..171320d 100644 --- a/frontend/packages/volto-pythonbrasil-site/src/theme/_layout.scss +++ b/frontend/packages/volto-pythonbrasil-site/src/theme/_layout.scss @@ -5,11 +5,21 @@ body { background-repeat: repeat-x; background-size: 400px; &.view-contentsview { - background: var(--primary-foreground-color); + background: #fff; #content { padding-top: $spacing-small; } } + #page-document { + background-color: unset; + } + #page-add, + #page-edit { + .form.ui { + margin-bottom: $spacing-small; + background-color: #fff; + } + } } .content-area { .q.container { diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/_main.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/_main.scss index 7cdf46c..f21ce45 100644 --- a/frontend/packages/volto-pythonbrasil-site/src/theme/_main.scss +++ b/frontend/packages/volto-pythonbrasil-site/src/theme/_main.scss @@ -8,6 +8,7 @@ @import 'components/breadcrumbs'; @import 'components/footer'; @import 'blocks/accordion'; +@import 'blocks/description'; @import 'blocks/button'; @import 'blocks/eventbrite'; @import 'blocks/followus'; @@ -16,4 +17,8 @@ @import 'blocks/heading'; @import 'blocks/chamada'; @import 'blocks/image'; +@import 'blocks/block_sponsorlevel'; +@import 'blocks/block_sponsors_showcase'; +@import 'blocks/block_sponsors_levelcomparison'; +@import 'blocks/sponsor_benefits'; @import 'sections/home'; diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/_root.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/_root.scss index 9355bd9..abf92b3 100644 --- a/frontend/packages/volto-pythonbrasil-site/src/theme/_root.scss +++ b/frontend/packages/volto-pythonbrasil-site/src/theme/_root.scss @@ -4,24 +4,51 @@ --default-container-width: 1024px; --layout-container-width: 1440px; // Theme - --primary-color: #e2001a; - --primary-foreground-color: #f0f0f7; + --primary-color: #f0f0f7; + --primary-foreground-color: #e2001a; --secondary-color: #3e3841; --secondary-foreground-color: #f0f0f7; --accent-color: #ad0015; --accent-foreground-color: #f0f0f7; + --theme-color: var(--primary-color); --theme-foreground-color: var(--primary-foreground-color); + + // CTA + --cta-color-start: #e2001a; + --cta-color-end: var(--accent-color); + --cta-color-fg: var(--accent-foreground-color); + + // Header --header-background: var(--accent-color); + --header-foreground: var(--accent-foreground-color); + + // Breadcrumbs --breadcrumbs-background: var(--secondary-color); - --breadcrumbs-foreground: var(var(--secondary-foreground-color)); - --background-color: #c3c8ca; + --breadcrumbs-foreground: var(--secondary-foreground-color); + + // Fat Menu + --fatmenu-background: var(--secondary-color); + --fatmenu-foreground: var(--secondary-foreground-color); + + // Search bar + --search-background: var(--secondary-color); + --search-foreground: var(--secondary-foreground-color); + --text-color: rgb(39 38 38); + --link-color: var(--text-color); + --link-foreground-color: var(--link-color); + + --background-color: #c3c8ca; + // Components - --social-network-icon-color-main: var(--primary-foreground-color); - --social-network-icon-color-hover: var(--primary-color); + --social-network-icon-color-main: var(--secondary-color); + --social-network-icon-color-hover: var(--accent-color); --social-network-background-main: transparent; --social-network-background-hover: transparent; + /// Sponsors + --techevent-sponsortile-background-main: #fff; + // Fonts --font-weight-thin: 100; --font-weight-extra-light: 200; diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/_variables.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/_variables.scss index 77bbfcb..395113e 100644 --- a/frontend/packages/volto-pythonbrasil-site/src/theme/_variables.scss +++ b/frontend/packages/volto-pythonbrasil-site/src/theme/_variables.scss @@ -64,14 +64,22 @@ $color-block-change-vertical-spacing: $spacing-large !default; } @mixin cta-color-gradient() { - @include color-gradient(var(--primary-color), var(--accent-color)); + @include color-gradient( + var(--cta-color-start), + var(--cta-color-end), + var(--cta-color-fg) + ); } @mixin cta-color-gradient-reverse() { - @include color-gradient(var(--accent-color), var(--primary-color)); + @include color-gradient( + var(--cta-color-end), + var(--cta-color-start), + var(--cta-color-fg) + ); } -@mixin color-gradient($color1, $color2) { +@mixin color-gradient($color1, $color2, $colorfg) { position: relative; z-index: 1; display: inline-flex; @@ -81,6 +89,7 @@ $color-block-change-vertical-spacing: $spacing-large !default; -webkit-appearance: none; appearance: none; background: linear-gradient(90deg, $color1 0%, $color2 100%); + color: $colorfg !important; moz-transition: all 0.4s ease-in-out; outline: none !important; -o-transition: all 0.4s ease-in-out; @@ -102,8 +111,11 @@ $color-block-change-vertical-spacing: $spacing-large !default; transition-duration: 700ms; transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66); } - &:hover::after { - bottom: -50%; + &:hover { + color: $colorfg !important; + &::after { + bottom: -50%; + } } } diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_accordion.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_accordion.scss index 1ebf0a5..7029a9f 100644 --- a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_accordion.scss +++ b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_accordion.scss @@ -3,6 +3,10 @@ background-color: unset; .title.accordion-title { background-color: unset; + color: var(--theme-foreground-color); + .ui.input > input { + color: var(--theme-foreground-color); + } } } } diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_block_sponsorlevel.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_block_sponsorlevel.scss new file mode 100644 index 0000000..91602c7 --- /dev/null +++ b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_block_sponsorlevel.scss @@ -0,0 +1,5 @@ +.block.sponsorLevelBlock .sponsorCTA .cta { + @include cta-animation(); + @include cta-button(); + @include cta-color-gradient(); +} diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_block_sponsors_levelcomparison.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_block_sponsors_levelcomparison.scss new file mode 100644 index 0000000..753ca47 --- /dev/null +++ b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_block_sponsors_levelcomparison.scss @@ -0,0 +1,37 @@ +.block.levelComparison { + .levelComparison.tableContainer { + @include layout-container-width; + .table { + width: 100%; + border-collapse: collapse; + table-layout: fixed; + text-align: left; + .cell { + vertical-align: middle; + &.level { + border-left-width: 2px; + border-left-style: solid; + border-left-color: var(--theme-foreground-color); + } + } + td:first-child, + th:first-child { + width: 35%; + } + .benefitRow .cell { + padding: 5px 0; + &.benefitTitle { + .title { + @include add(weight, bold); + } + .description { + @include add(weight, light); + } + } + &.benefitValue { + text-align: center; + } + } + } + } +} diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_block_sponsors_showcase.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_block_sponsors_showcase.scss new file mode 100644 index 0000000..f4ddf77 --- /dev/null +++ b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_block_sponsors_showcase.scss @@ -0,0 +1,27 @@ +.block.sponsors { + @include default-container-width; + .sponsors.title { + @include block-title; + @include default-container-width; + } + .sponsorList { + > .sponsorTile { + @include sponsor-size-06; + } + > .ouro.sponsorTile { + @include sponsor-size-03; + } + > .prata.sponsorTile { + @include sponsor-size-05; + } + > .bronze.sponsorTile { + @include sponsor-size-06; + } + > .apoio.sponsorTile { + @include sponsor-size-05; + } + > .organizacao.sponsorTile { + @include sponsor-size-04; + } + } +} diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_description.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_description.scss new file mode 100644 index 0000000..f386617 --- /dev/null +++ b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_description.scss @@ -0,0 +1,12 @@ +.blocks-group-wrapper { + .documentDescription { + color: var(--theme-foreground-color); + } +} +.blocks-form { + .block.description { + .documentDescription { + color: var(--theme-foreground-color); + } + } +} diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_gridCTA.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_gridCTA.scss index f1c134e..bbd685f 100644 --- a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_gridCTA.scss +++ b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_gridCTA.scss @@ -34,9 +34,9 @@ .ctaButton { @include cta-button-grid(); @include cta-color-gradient(); - color: var(--primary-foreground-color); + color: var(--primary-color); .icon { - fill: var(--primary-foreground-color); + fill: var(--primary-color); } } } @@ -50,7 +50,7 @@ .block.gridCTA.has--background-color--default, .block.gridCTA.has--theme--default { .content { - background-color: var(--theme-high-contrast-color); + background-color: var(---primary-foreground-color); } } } diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_gridblock.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_gridblock.scss index 53d98e5..9692879 100644 --- a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_gridblock.scss +++ b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_gridblock.scss @@ -1,7 +1,6 @@ .block.gridBlock { .block.teaser { - border-radius: 0 0 $spacing-medium $spacing-small; - .teaser-item { + .card { border-radius: 0 0 $spacing-medium $spacing-small; } } diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_sponsor_benefits.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_sponsor_benefits.scss new file mode 100644 index 0000000..e0c1d46 --- /dev/null +++ b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_sponsor_benefits.scss @@ -0,0 +1,39 @@ +.block.benefits { + .benefits.wrapper { + .list { + .benefit.item { + display: flex; + flex-direction: row; + padding: 0px 0px 3px 0px; + .title { + flex: 2; + margin-right: 5px; + } + .value { + flex: 1; + padding-left: $spacing-xsmall; + } + } + } + } +} + +.accordion-block { + .accordion.ui.fluid { + .block.benefits { + .benefits.title { + display: none; + } + .benefits.wrapper { + .benefit.item { + .title, + .value { + padding: 0.75em 1em; + background-color: var(--theme-high-contrast-color); + color: var(--theme-low-contrast-foreground-color) !important; + } + } + } + } + } +} diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/components/_footer.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_footer.scss index 7f2a855..0a49c62 100644 --- a/frontend/packages/volto-pythonbrasil-site/src/theme/components/_footer.scss +++ b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_footer.scss @@ -1,4 +1,7 @@ footer#footer { + --social-network-icon-color-main: var(--secondary-foreground-color); + padding-top: 1rem; + margin-top: 0; .footer.main { max-width: 100% !important; background-color: var(--secondary-color); @@ -15,7 +18,7 @@ footer#footer { padding-left: 0; margin: 0; list-style: none; - li { + li.item { padding: 0 1em; border-left: 1px solid var(--secondary-foreground-color); margin: 0.25em 0; @@ -23,7 +26,7 @@ footer#footer { &:first-child { border-left: unset; } - a.item { + a { color: var(--secondary-foreground-color) !important; &:hover { color: var(--primary-color) !important; @@ -38,6 +41,7 @@ footer#footer { } .post-footer { padding: $spacing-small $spacing-medium; + background-color: var(--background-color); .branding { padding: 0 $spacing-small; color: var(--text-color) !important; diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/components/_navigation.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_navigation.scss index 97c6b13..3cc6c11 100644 --- a/frontend/packages/volto-pythonbrasil-site/src/theme/components/_navigation.scss +++ b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_navigation.scss @@ -3,14 +3,14 @@ @include graffiti(); @include add(size, xl); @include add(height, xl); - color: var(--primary-foreground-color); + color: var(--primary-color); text-transform: uppercase !important; &.active, &:hover { - color: var(--primary-foreground-color); + color: var(--primary-color); &::before { bottom: -42px; - border-bottom: 4px solid var(--primary-foreground-color); + border-bottom: 4px solid var(--primary-color); } } } @@ -18,43 +18,8 @@ ul.desktop-menu .submenu-wrapper { margin-top: 34px; .submenu { - background: var(--primary-color); - &.active { - border-top: 1px solid var(--primary-foreground-color); - .close { - background: var(--primary-color); - color: var(--primary-foreground-color); - } - } - - .submenu-inner { - h2 { - color: var(--primary-foreground-color); - } - - .submenu-header { - h2 { - margin-left: 0px; - @include add(weight, bold); - } - } - - .subitem-wrapper { - border-left: 1px solid var(--primary-foreground-color); - - > a, - li > a { - color: var(--primary-foreground-color); - - span { - &:hover { - border-bottom: 1px solid var(--primary-foreground-color); - } - color: var(--primary-foreground-color); - } - } - } + border-top: 1px solid var(--primary-color); } } } diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 4a05d97..1bf5897 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -795,8 +795,8 @@ importers: specifier: ^3.3.0 version: 3.3.0(redux@4.2.1) classnames: - specifier: 2.2.6 - version: 2.2.6 + specifier: 2.5.1 + version: 2.5.1 connected-react-router: specifier: 6.8.0 version: 6.8.0(history@4.10.1)(immutable@3.8.2)(react-redux@8.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1))(react-router@5.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1)(seamless-immutable@7.1.4) @@ -1383,6 +1383,9 @@ importers: svg-loader: specifier: 0.0.2 version: 0.0.2 + svgo: + specifier: ^3.0.0 + version: 3.3.2 svgo-loader: specifier: 3.0.3 version: 3.0.3 @@ -1435,8 +1438,8 @@ importers: core/packages/volto-slate: dependencies: classnames: - specifier: 2.2.6 - version: 2.2.6 + specifier: 2.5.1 + version: 2.5.1 github-slugger: specifier: 1.4.0 version: 1.4.0 @@ -1547,6 +1550,9 @@ importers: packages/volto-pythonbrasil-site: dependencies: + '@eeacms/volto-accordion-block': + specifier: '*' + version: 10.4.6 '@eeacms/volto-matomo': specifier: '*' version: 5.0.0(react@18.2.0) @@ -1554,8 +1560,8 @@ importers: specifier: '*' version: 6.0.1(react@18.2.0) '@kitconcept/volto-light-theme': - specifier: ^6.0.0-alpha.22 - version: 6.0.0-alpha.22(@eeacms/volto-accordion-block@10.4.6)(@kitconcept/volto-banner-block@1.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-button-block@3.0.3(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0))(@kitconcept/volto-dsgvo-banner@2.3.2)(@kitconcept/volto-heading-block@2.4.0(react@18.2.0))(@kitconcept/volto-highlight-block@4.2.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-introduction-block@1.0.0)(@kitconcept/volto-separator-block@4.1.2(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(@kitconcept/volto-slider-block@6.3.1(@plone/volto@18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(embla-carousel@8.6.0)(react@18.2.0))(@plonegovbr/volto-social-media@2.0.0-alpha.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(classnames@2.5.1)(lodash@4.17.21)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react-redux@8.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1))(react-router-dom@5.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) + specifier: 7.0.0-alpha.10 + version: 7.0.0-alpha.10(@eeacms/volto-accordion-block@10.4.6)(@kitconcept/volto-banner-block@1.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-bm3-compat@1.0.0-alpha.1(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-button-block@3.0.3(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0))(@kitconcept/volto-carousel-block@2.0.0-alpha.1(classnames@2.5.1)(embla-carousel@8.6.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-dsgvo-banner@2.3.2)(@kitconcept/volto-heading-block@2.4.0(react@18.2.0))(@kitconcept/volto-highlight-block@4.2.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-introduction-block@1.0.0)(@kitconcept/volto-logos-block@3.0.0-alpha.0(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(@kitconcept/volto-separator-block@4.1.2(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(@kitconcept/volto-slider-block@6.3.1(@plone/volto@18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(embla-carousel@8.6.0)(react@18.2.0))(@plonegovbr/volto-social-media@2.0.0-alpha.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(classnames@2.5.1)(lodash@4.17.21)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react-redux@8.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1))(react-router-dom@5.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) '@kitconcept/volto-social-blocks': specifier: 1.0.0-alpha.8 version: 1.0.0-alpha.8(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0) @@ -1563,11 +1569,14 @@ importers: specifier: 0.5.1 version: 0.5.1(react@18.2.0) '@plone-collective/volto-authomatic': - specifier: 2.0.1 - version: 2.0.1(@plone/volto@18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4)) + specifier: 3.0.0-alpha.3 + version: 3.0.0-alpha.3(@plone/components@core+packages+components)(@plone/registry@core+packages+registry)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(semantic-ui-react@2.1.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) '@plone-collective/volto-eventbrite-block': specifier: ^1.0.0-alpha.2 version: 1.0.0-alpha.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) + '@plone-collective/volto-techevent': + specifier: 1.0.0-alpha.5 + version: 1.0.0-alpha.5(@kitconcept/volto-light-theme@7.0.0-alpha.10(@eeacms/volto-accordion-block@10.4.6)(@kitconcept/volto-banner-block@1.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-bm3-compat@1.0.0-alpha.1(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-button-block@3.0.3(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0))(@kitconcept/volto-carousel-block@2.0.0-alpha.1(classnames@2.5.1)(embla-carousel@8.6.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-dsgvo-banner@2.3.2)(@kitconcept/volto-heading-block@2.4.0(react@18.2.0))(@kitconcept/volto-highlight-block@4.2.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-introduction-block@1.0.0)(@kitconcept/volto-logos-block@3.0.0-alpha.0(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(@kitconcept/volto-separator-block@4.1.2(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(@kitconcept/volto-slider-block@6.3.1(@plone/volto@18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(embla-carousel@8.6.0)(react@18.2.0))(@plonegovbr/volto-social-media@2.0.0-alpha.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(classnames@2.5.1)(lodash@4.17.21)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react-redux@8.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1))(react-router-dom@5.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(react-aria-components@1.8.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) '@plone/components': specifier: workspace:* version: link:../../core/packages/components @@ -1575,17 +1584,20 @@ importers: specifier: workspace:* version: link:../../core/packages/registry '@plonegovbr/volto-social-media': - specifier: ^2.0.0-alpha.5 - version: 2.0.0-alpha.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) + specifier: ^2.0.0-alpha.6 + version: 2.0.0-alpha.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) react: specifier: 18.2.0 version: 18.2.0 react-dom: specifier: 18.2.0 version: 18.2.0(react@18.2.0) + react-portal: + specifier: '*' + version: 4.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) volto-form-block: specifier: '*' - version: 3.11.0(@plone/volto@18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(volto-subblocks@2.1.0(@plone/volto@18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(react@18.2.0)) + version: 3.11.0(@plone/volto@18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(volto-subblocks@2.1.0(@plone/volto@18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(react@18.2.0)) devDependencies: '@plone/scripts': specifier: workspace:* @@ -3082,6 +3094,13 @@ packages: react: 18.2.0 react-dom: 18.2.0 + '@kitconcept/volto-bm3-compat@1.0.0-alpha.1': + resolution: {integrity: sha512-eKEtR1WBvLh9gf9JzCB7THgcYxyJPiw7QVXZ2Bdo6NOYSh05PPMvpN+lUBYj3ottk7oAt9Mvln4FCyfza4abUw==} + peerDependencies: + classnames: ^2.2.6 + react: 18.2.0 + react-dom: 18.2.0 + '@kitconcept/volto-button-block@3.0.3': resolution: {integrity: sha512-H1N3OY1XRxyU9u8Cjkmf5QtdBYB6010nzke9DHU3lJLItGzP84Qg3dw6RFWV0oE/EcKhZHh0tr6kxnYIpIaiFg==} peerDependencies: @@ -3090,6 +3109,12 @@ packages: react-dom: 18.2.0 react-intl: ^3.12.1 + '@kitconcept/volto-carousel-block@2.0.0-alpha.1': + resolution: {integrity: sha512-29XK8AC9AwPyOLfXgjN3JIG5Jzrk1NME6XJwkEkAOHqkGCok5dZ9suTqT30HF92h/2uE8PgOSlv/WRxjYzpsLg==} + peerDependencies: + react: 18.2.0 + react-dom: 18.2.0 + '@kitconcept/volto-dsgvo-banner@2.3.2': resolution: {integrity: sha512-iguCyuy4a7dYi1glWorVY7/0co66Su3+acp2O24GEGyDHvrZJgNkKvIOc9nnmAvR6g9zluMWH5ilLaT1rZuT6w==} @@ -3105,19 +3130,22 @@ packages: '@kitconcept/volto-introduction-block@1.0.0': resolution: {integrity: sha512-17wbBx89zcSQzXbdWvKBDlw0aJfTzjaX3cJUBorHjrJgOcTx7WBahIhBPjnC2z4EYmZ5w9YdHolqdD9HUlpozw==} - '@kitconcept/volto-light-theme@6.0.0-alpha.22': - resolution: {integrity: sha512-2C/VilHvt5FAyW8Ff6B6RotxDHm44JQ0nKKnJAPDzjahCwJNG7C4ex39nKLPaCQ7/jmF6eAcIbaVgJPhC1Fv4w==} + '@kitconcept/volto-light-theme@7.0.0-alpha.10': + resolution: {integrity: sha512-wt9Ig1vFyNZaYz7GqFI6RiyxFkhpRP7ZtzS7y09O+hV0WmLhNnZ7bhKLwfJN3DNt4CNOB71Uvtb35/kOQuc5JQ==} peerDependencies: '@eeacms/volto-accordion-block': ^10.4.6 '@kitconcept/volto-banner-block': ^1.0.1 - '@kitconcept/volto-button-block': ^3.0.3 - '@kitconcept/volto-dsgvo-banner': ^2.3.2 + '@kitconcept/volto-bm3-compat': ^1.0.0-alpha.1 + '@kitconcept/volto-button-block': ^4.0.0-alpha.0 + '@kitconcept/volto-carousel-block': ^2.0.0-alpha.1 + '@kitconcept/volto-dsgvo-banner': ^2.4.0 '@kitconcept/volto-heading-block': ^2.4.0 '@kitconcept/volto-highlight-block': ^4.1.0 '@kitconcept/volto-introduction-block': ^1.0.0 + '@kitconcept/volto-logos-block': ^3.0.0-alpha.0 '@kitconcept/volto-separator-block': ^4.1.2 '@kitconcept/volto-slider-block': ^6.3.1 - '@plonegovbr/volto-social-media': ^2.0.0-alpha.5 + '@plonegovbr/volto-social-media': ^2.0.0-alpha.6 classnames: ^2.2.6 lodash: 4.17.21 react: 18.2.0 @@ -3126,6 +3154,14 @@ packages: react-redux: ^8.1.2 react-router-dom: ^5.2.0 + '@kitconcept/volto-logos-block@3.0.0-alpha.0': + resolution: {integrity: sha512-4hWNh+7nf8JZ0F1i1oAN2xhuMN+Kzj7uSS63w7StrQMTF6mwhlD7FiRIh0DOASjGwZhIoiRFShkfDsf+YLNasg==} + peerDependencies: + classnames: 2.5.1 + react: 18.2.0 + react-dom: 18.2.0 + react-intl: ^3.12.1 + '@kitconcept/volto-separator-block@4.1.2': resolution: {integrity: sha512-SWgIu7/XmZA0BK0LX+ObM7w1YdFAyRAxQUBt/ICka+KKsIVUpYeBUiJ+Q9d9Z5bneh7Fwv3Oik6CAJ5BhqCn2A==} peerDependencies: @@ -3548,10 +3584,15 @@ packages: resolution: {integrity: sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@plone-collective/volto-authomatic@2.0.1': - resolution: {integrity: sha512-V92EN+5NcxturfGjFsNo1h/c0GC5UgvjOWIUuhSB99XOj7R4X/gM/GxqVH5fRYkM3tp9h6ux82wBpnMSIOyStQ==} + '@plone-collective/volto-authomatic@3.0.0-alpha.3': + resolution: {integrity: sha512-XPVUZUsvhR01bZX7PoR/jOhI+g3NHuGBBRwO94whc19GkXZvrA9VAG7rQJPgs2PYFtjgEut+mwqPulVBLW2aUw==} peerDependencies: - '@plone/volto': '>=13.8.0' + '@plone/components': 3.0.2 + '@plone/registry': 2.5.2 + react: 18.2.0 + react-dom: 18.2.0 + react-intl: '*' + semantic-ui-react: '*' '@plone-collective/volto-eventbrite-block@1.0.0-alpha.2': resolution: {integrity: sha512-oF0Rfssq1oAnh/uuzIqW5z9fUIBusUgnSib1S1lZIVdnT6FPETrEZ910o1PhqPFyvZcRaK3TTNj9J7L4MMq3HA==} @@ -3559,6 +3600,15 @@ packages: react: 18.2.0 react-dom: 18.2.0 + '@plone-collective/volto-techevent@1.0.0-alpha.5': + resolution: {integrity: sha512-16OV4a7RZqgeQXh3G+Hgsx1C8XenhruvcrSRGT0xiSKlhEE4ca3j5m0L+iQF1kdE2wZPyrNTvYHijfNdvCfIiQ==} + peerDependencies: + '@kitconcept/volto-light-theme': '*' + react: 18.2.0 + react-aria-components: '*' + react-dom: 18.2.0 + react-intl: '*' + '@plone/components@1.7.0': resolution: {integrity: sha512-T/GOFwKEhxrjp2S0sqRgTz7ZN8TcxvvPKKq7af2vARpEGWW8HszCX9CTDo0t3decSal0NqWqHiFbY2q6xbvrNA==} peerDependencies: @@ -3586,8 +3636,8 @@ packages: react-dom: optional: true - '@plone/registry@2.5.1': - resolution: {integrity: sha512-9i2je02GYi4VcATBP6DAxKsVj79/ragOxqsYY+BzKtR2kmqFVl4BKg3/LkRpNvTp6X/O0JKuJhR7joQm0daMpQ==} + '@plone/registry@2.5.4': + resolution: {integrity: sha512-ygUm4LuOiwWBsyK/2Z4xI3ORvDAIWL4nn1bgcrUc+BconM4bsY1N0ycDH+VpylEMovx/K2r6BR4R82oBa6KP8g==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -3595,18 +3645,22 @@ packages: react-dom: optional: true + '@plone/scripts@3.10.1': + resolution: {integrity: sha512-U4RUHX+9YmVAMJX6uY/7KMSzcHimovK2paGVlz4WBicyp9hwCdOQ/9oCvq2wBLWHWAFUXlVjsWyHz03fotrgAA==} + hasBin: true + '@plone/scripts@3.9.0': resolution: {integrity: sha512-DbG4TJ09s4An8491aQVJc32XVc4hAaamIE2ymlt27bIVk/Z+Ayx2aFg0M12ykJqSMR1oUYP7/y4vFvopyCObRQ==} hasBin: true - '@plone/volto-slate@18.3.0': - resolution: {integrity: sha512-dopiD6TO++ivqnQMDxs41bpyt4nHQq57Lohbw2BvmaIVHWuNSqGFd8qnlztiBor7rFZL9HXjEtMlYb5m/J7ihw==} + '@plone/volto-slate@18.5.0': + resolution: {integrity: sha512-DDGCnf6Hj7NiOS7WcmRiq1FHkLNzdiZuPFuJm4f8PRQtCI8AvAj8aMlaMp2tlZ8f6EhHgAH7VevB1WKtOT8yzw==} peerDependencies: react: ^18.2.0 react-dom: ^18.2.0 - '@plone/volto@18.14.0': - resolution: {integrity: sha512-/1AazfW8BWuhXcpj0ywegT3JnoTAhLbDX4eHcpR+RL0bxoo+ltSfMcavr2Y31JubcciEVDYXiPo8xx+i0oNvDw==} + '@plone/volto@18.23.0': + resolution: {integrity: sha512-vmgiJnvXA+SMUNIY4EfjDaBTOmKpqC1LdVchNK7J1Rf99sLymVDll4vKUexLaEHkH2zPALgaxkqkKcLFb/YDfw==} engines: {node: ^20 || ^22} '@plonegovbr/volto-social-media@2.0.0-alpha.5': @@ -3615,6 +3669,12 @@ packages: react: 18.2.0 react-dom: 18.2.0 + '@plonegovbr/volto-social-media@2.0.0-alpha.6': + resolution: {integrity: sha512-XM49Y64RlYA4reuSDiW7b6OZE33UMEeIMZv9pl6/reBux3Ep5wOvhh6PFsl7eCbYJNUtFAs89bLtyI7gn1THwQ==} + peerDependencies: + react: 18.2.0 + react-dom: 18.2.0 + '@pmmmwh/react-refresh-webpack-plugin@0.5.16': resolution: {integrity: sha512-kLQc9xz6QIqd2oIYyXRUiAp79kGpFBm3fEM9ahfG1HI0WI5gdZ2OVHWdmZYnwODt7ISck+QuQ6sBPrtvUBML7Q==} engines: {node: '>= 10.13'} @@ -6454,9 +6514,6 @@ packages: resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} engines: {node: '>=0.10.0'} - classnames@2.2.6: - resolution: {integrity: sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==} - classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} @@ -6925,6 +6982,9 @@ packages: css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + css-tree@1.0.0-alpha.37: resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==} engines: {node: '>=8.0.0'} @@ -6933,6 +6993,14 @@ packages: resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} engines: {node: '>=8.0.0'} + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + css-tree@3.1.0: resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} @@ -6984,6 +7052,10 @@ packages: resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} engines: {node: '>=8.0.0'} + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + cssom@0.3.8: resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} @@ -7384,6 +7456,9 @@ packages: dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + domelementtype@1.3.1: resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} @@ -7404,12 +7479,19 @@ packages: resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} engines: {node: '>= 4'} + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + domutils@1.7.0: resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} @@ -7458,21 +7540,39 @@ packages: electron-to-chromium@1.5.142: resolution: {integrity: sha512-Ah2HgkTu/9RhTDNThBtzu2Wirdy4DC9b0sMT1pUhbkZQ5U/iwmE+PHZX1MpjD5IkJCc2wSghgGG/B04szAx07w==} + embla-carousel-autoplay@8.5.2: + resolution: {integrity: sha512-27emJ0px3q/c0kCHCjwRrEbYcyYUPfGO3g5IBWF1i7714TTzE6L9P81V6PHLoSMAKJ1aHoT2e7YFOsuFKCbyag==} + peerDependencies: + embla-carousel: 8.5.2 + embla-carousel-autoplay@8.6.0: resolution: {integrity: sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA==} peerDependencies: embla-carousel: 8.6.0 + embla-carousel-react@8.5.2: + resolution: {integrity: sha512-Tmx+uY3MqseIGdwp0ScyUuxpBgx5jX1f7od4Cm5mDwg/dptEiTKf9xp6tw0lZN2VA9JbnVMl/aikmbc53c6QFA==} + peerDependencies: + react: ^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + embla-carousel-react@8.6.0: resolution: {integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==} peerDependencies: react: ^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + embla-carousel-reactive-utils@8.5.2: + resolution: {integrity: sha512-QC8/hYSK/pEmqEdU1IO5O+XNc/Ptmmq7uCB44vKplgLKhB/l0+yvYx0+Cv0sF6Ena8Srld5vUErZkT+yTahtDg==} + peerDependencies: + embla-carousel: 8.5.2 + embla-carousel-reactive-utils@8.6.0: resolution: {integrity: sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==} peerDependencies: embla-carousel: 8.6.0 + embla-carousel@8.5.2: + resolution: {integrity: sha512-xQ9oVLrun/eCG/7ru3R+I5bJ7shsD8fFwLEY7yPe27/+fDHCNj0OT5EoG5ZbFyOxOcG6yTwW8oTz/dWyFnyGpg==} + embla-carousel@8.6.0: resolution: {integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==} @@ -10378,6 +10478,12 @@ packages: mdn-data@2.0.14: resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + mdn-data@2.0.4: resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} @@ -13470,6 +13576,11 @@ packages: engines: {node: '>=10.13.0'} hasBin: true + svgo@3.3.2: + resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} + engines: {node: '>=14.0.0'} + hasBin: true + symbol-observable@1.2.0: resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} engines: {node: '>=0.10.0'} @@ -16520,6 +16631,12 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + '@kitconcept/volto-bm3-compat@1.0.0-alpha.1(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + classnames: 2.5.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + '@kitconcept/volto-button-block@3.0.3(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)': dependencies: classnames: 2.5.1 @@ -16527,6 +16644,17 @@ snapshots: react-dom: 18.2.0(react@18.2.0) react-intl: 3.12.1(react@18.2.0) + '@kitconcept/volto-carousel-block@2.0.0-alpha.1(classnames@2.5.1)(embla-carousel@8.6.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@kitconcept/volto-bm3-compat': 1.0.0-alpha.1(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + embla-carousel-autoplay: 8.5.2(embla-carousel@8.6.0) + embla-carousel-react: 8.5.2(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - classnames + - embla-carousel + '@kitconcept/volto-dsgvo-banner@2.3.2': dependencies: '@datapunt/matomo-tracker-js': 0.5.1 @@ -16545,22 +16673,25 @@ snapshots: '@kitconcept/volto-introduction-block@1.0.0': {} - ? '@kitconcept/volto-light-theme@6.0.0-alpha.22(@eeacms/volto-accordion-block@10.4.6)(@kitconcept/volto-banner-block@1.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-button-block@3.0.3(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0))(@kitconcept/volto-dsgvo-banner@2.3.2)(@kitconcept/volto-heading-block@2.4.0(react@18.2.0))(@kitconcept/volto-highlight-block@4.2.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-introduction-block@1.0.0)(@kitconcept/volto-separator-block@4.1.2(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(@kitconcept/volto-slider-block@6.3.1(@plone/volto@18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(embla-carousel@8.6.0)(react@18.2.0))(@plonegovbr/volto-social-media@2.0.0-alpha.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(classnames@2.5.1)(lodash@4.17.21)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react-redux@8.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1))(react-router-dom@5.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5))' + ? '@kitconcept/volto-light-theme@7.0.0-alpha.10(@eeacms/volto-accordion-block@10.4.6)(@kitconcept/volto-banner-block@1.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-bm3-compat@1.0.0-alpha.1(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-button-block@3.0.3(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0))(@kitconcept/volto-carousel-block@2.0.0-alpha.1(classnames@2.5.1)(embla-carousel@8.6.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-dsgvo-banner@2.3.2)(@kitconcept/volto-heading-block@2.4.0(react@18.2.0))(@kitconcept/volto-highlight-block@4.2.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-introduction-block@1.0.0)(@kitconcept/volto-logos-block@3.0.0-alpha.0(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(@kitconcept/volto-separator-block@4.1.2(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(@kitconcept/volto-slider-block@6.3.1(@plone/volto@18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(embla-carousel@8.6.0)(react@18.2.0))(@plonegovbr/volto-social-media@2.0.0-alpha.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(classnames@2.5.1)(lodash@4.17.21)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react-redux@8.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1))(react-router-dom@5.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5))' : dependencies: '@dnd-kit/core': 6.0.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@dnd-kit/sortable': 7.0.2(@dnd-kit/core@6.0.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) '@dnd-kit/utilities': 3.2.2(react@18.2.0) '@eeacms/volto-accordion-block': 10.4.6 '@kitconcept/volto-banner-block': 1.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@kitconcept/volto-bm3-compat': 1.0.0-alpha.1(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@kitconcept/volto-button-block': 3.0.3(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0) + '@kitconcept/volto-carousel-block': 2.0.0-alpha.1(classnames@2.5.1)(embla-carousel@8.6.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@kitconcept/volto-dsgvo-banner': 2.3.2 '@kitconcept/volto-heading-block': 2.4.0(react@18.2.0) '@kitconcept/volto-highlight-block': 4.2.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@kitconcept/volto-introduction-block': 1.0.0 + '@kitconcept/volto-logos-block': 3.0.0-alpha.0(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) '@kitconcept/volto-separator-block': 4.1.2(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) - '@kitconcept/volto-slider-block': 6.3.1(@plone/volto@18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(embla-carousel@8.6.0)(react@18.2.0) + '@kitconcept/volto-slider-block': 6.3.1(@plone/volto@18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(embla-carousel@8.6.0)(react@18.2.0) '@plone/components': 3.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) - '@plonegovbr/volto-social-media': 2.0.0-alpha.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) + '@plonegovbr/volto-social-media': 2.0.0-alpha.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) classnames: 2.5.1 lodash: 4.17.21 react: 18.2.0 @@ -16575,6 +16706,16 @@ snapshots: transitivePeerDependencies: - storybook + '@kitconcept/volto-logos-block@3.0.0-alpha.0(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5))': + dependencies: + '@plone/components': 3.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) + classnames: 2.5.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-intl: 3.12.1(react@18.2.0) + transitivePeerDependencies: + - storybook + '@kitconcept/volto-separator-block@4.1.2(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5))': dependencies: '@plone/components': 2.0.0-alpha.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) @@ -16584,9 +16725,9 @@ snapshots: transitivePeerDependencies: - storybook - '@kitconcept/volto-slider-block@6.3.1(@plone/volto@18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(embla-carousel@8.6.0)(react@18.2.0)': + '@kitconcept/volto-slider-block@6.3.1(@plone/volto@18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(embla-carousel@8.6.0)(react@18.2.0)': dependencies: - '@plone/volto': 18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4) + '@plone/volto': 18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4) deepmerge: 4.2.2 embla-carousel-autoplay: 8.6.0(embla-carousel@8.6.0) embla-carousel-react: 8.6.0(react@18.2.0) @@ -17192,9 +17333,14 @@ snapshots: '@pkgr/core@0.2.4': {} - '@plone-collective/volto-authomatic@2.0.1(@plone/volto@18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))': + '@plone-collective/volto-authomatic@3.0.0-alpha.3(@plone/components@core+packages+components)(@plone/registry@core+packages+registry)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(semantic-ui-react@2.1.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@plone/volto': 18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4) + '@plone/components': link:core/packages/components + '@plone/registry': link:core/packages/registry + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-intl: 3.12.1(react@18.2.0) + semantic-ui-react: 2.1.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@plone-collective/volto-eventbrite-block@1.0.0-alpha.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5))': dependencies: @@ -17204,6 +17350,18 @@ snapshots: transitivePeerDependencies: - storybook + ? '@plone-collective/volto-techevent@1.0.0-alpha.5(@kitconcept/volto-light-theme@7.0.0-alpha.10(@eeacms/volto-accordion-block@10.4.6)(@kitconcept/volto-banner-block@1.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-bm3-compat@1.0.0-alpha.1(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-button-block@3.0.3(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0))(@kitconcept/volto-carousel-block@2.0.0-alpha.1(classnames@2.5.1)(embla-carousel@8.6.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-dsgvo-banner@2.3.2)(@kitconcept/volto-heading-block@2.4.0(react@18.2.0))(@kitconcept/volto-highlight-block@4.2.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-introduction-block@1.0.0)(@kitconcept/volto-logos-block@3.0.0-alpha.0(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(@kitconcept/volto-separator-block@4.1.2(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(@kitconcept/volto-slider-block@6.3.1(@plone/volto@18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(embla-carousel@8.6.0)(react@18.2.0))(@plonegovbr/volto-social-media@2.0.0-alpha.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(classnames@2.5.1)(lodash@4.17.21)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react-redux@8.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1))(react-router-dom@5.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(react-aria-components@1.8.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5))' + : dependencies: + '@kitconcept/volto-light-theme': 7.0.0-alpha.10(@eeacms/volto-accordion-block@10.4.6)(@kitconcept/volto-banner-block@1.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-bm3-compat@1.0.0-alpha.1(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-button-block@3.0.3(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0))(@kitconcept/volto-carousel-block@2.0.0-alpha.1(classnames@2.5.1)(embla-carousel@8.6.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-dsgvo-banner@2.3.2)(@kitconcept/volto-heading-block@2.4.0(react@18.2.0))(@kitconcept/volto-highlight-block@4.2.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@kitconcept/volto-introduction-block@1.0.0)(@kitconcept/volto-logos-block@3.0.0-alpha.0(classnames@2.5.1)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(@kitconcept/volto-separator-block@4.1.2(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(@kitconcept/volto-slider-block@6.3.1(@plone/volto@18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(embla-carousel@8.6.0)(react@18.2.0))(@plonegovbr/volto-social-media@2.0.0-alpha.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)))(classnames@2.5.1)(lodash@4.17.21)(react-dom@18.2.0(react@18.2.0))(react-intl@3.12.1(react@18.2.0))(react-redux@8.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1))(react-router-dom@5.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) + '@plone/components': 3.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) + '@plonegovbr/volto-social-media': 2.0.0-alpha.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) + react: 18.2.0 + react-aria-components: 1.8.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) + react-intl: 3.12.1(react@18.2.0) + transitivePeerDependencies: + - storybook + '@plone/components@1.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@react-aria/utils': 3.28.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -17242,7 +17400,7 @@ snapshots: transitivePeerDependencies: - storybook - '@plone/registry@2.5.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@plone/registry@2.5.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: auto-config-loader: 1.7.8 crypto-random-string: 3.2.0 @@ -17256,7 +17414,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@plone/scripts@3.9.0': + '@plone/scripts@3.10.1(debug@4.3.2)': dependencies: '@babel/core': 7.26.10 babel-plugin-react-intl: 5.1.17 @@ -17272,12 +17430,12 @@ snapshots: lodash: 4.17.21 mrs-developer: 2.3.0 pofile: 1.0.10 - wait-on: 7.2.0 + wait-on: 7.2.0(debug@4.3.2) transitivePeerDependencies: - debug - supports-color - '@plone/scripts@3.9.0(debug@4.3.2)': + '@plone/scripts@3.9.0': dependencies: '@babel/core': 7.26.10 babel-plugin-react-intl: 5.1.17 @@ -17293,14 +17451,14 @@ snapshots: lodash: 4.17.21 mrs-developer: 2.3.0 pofile: 1.0.10 - wait-on: 7.2.0(debug@4.3.2) + wait-on: 7.2.0 transitivePeerDependencies: - debug - supports-color - '@plone/volto-slate@18.3.0(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1)': + '@plone/volto-slate@18.5.0(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1)': dependencies: - classnames: 2.2.6 + classnames: 2.5.1 github-slugger: 1.4.0 image-extensions: 1.1.0 is-hotkey: 0.2.0 @@ -17332,15 +17490,15 @@ snapshots: - supports-color - utf-8-validate - '@plone/volto@18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4)': + '@plone/volto@18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4)': dependencies: '@loadable/component': 5.14.1(react@18.2.0) '@loadable/server': 5.14.0(@loadable/component@5.14.1(react@18.2.0))(react@18.2.0) - '@plone/registry': 2.5.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@plone/scripts': 3.9.0(debug@4.3.2) - '@plone/volto-slate': 18.3.0(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1) + '@plone/registry': 2.5.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@plone/scripts': 3.10.1(debug@4.3.2) + '@plone/volto-slate': 18.5.0(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1) '@redux-devtools/extension': 3.3.0(redux@4.2.1) - classnames: 2.2.6 + classnames: 2.5.1 connected-react-router: 6.8.0(history@4.10.1)(immutable@3.8.2)(react-redux@8.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1))(react-router@5.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1)(seamless-immutable@7.1.4) debug: 4.3.2 decorate-component-with-props: 1.2.1(react@18.2.0) @@ -17447,6 +17605,14 @@ snapshots: transitivePeerDependencies: - storybook + '@plonegovbr/volto-social-media@2.0.0-alpha.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5))': + dependencies: + '@plone/components': 3.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.2.5)) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - storybook + '@pmmmwh/react-refresh-webpack-plugin@0.5.16(react-refresh@0.14.2)(sockjs-client@1.4.0)(type-fest@2.19.0)(webpack-dev-server@4.11.1(debug@4.3.2)(webpack@5.90.1(esbuild@0.25.3)))(webpack-hot-middleware@2.26.1)(webpack@5.90.1(esbuild@0.25.3))': dependencies: ansi-html: 0.0.9 @@ -21484,8 +21650,6 @@ snapshots: isobject: 3.0.1 static-extend: 0.1.2 - classnames@2.2.6: {} - classnames@2.5.1: {} clean-css@5.3.3: @@ -21973,6 +22137,14 @@ snapshots: domutils: 2.8.0 nth-check: 2.1.1 + css-select@5.1.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 + css-tree@1.0.0-alpha.37: dependencies: mdn-data: 2.0.4 @@ -21983,6 +22155,16 @@ snapshots: mdn-data: 2.0.14 source-map: 0.6.1 + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.1 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.1 + css-tree@3.1.0: dependencies: mdn-data: 2.12.2 @@ -22057,6 +22239,10 @@ snapshots: dependencies: css-tree: 1.1.3 + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + cssom@0.3.8: {} cssom@0.4.4: {} @@ -22453,6 +22639,12 @@ snapshots: domhandler: 4.3.1 entities: 2.2.0 + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + domelementtype@1.3.1: {} domelementtype@2.3.0: {} @@ -22469,6 +22661,10 @@ snapshots: dependencies: domelementtype: 2.3.0 + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + domutils@1.7.0: dependencies: dom-serializer: 0.2.2 @@ -22480,6 +22676,12 @@ snapshots: domelementtype: 2.3.0 domhandler: 4.3.1 + domutils@3.2.2: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dot-case@3.0.4: dependencies: no-case: 3.0.4 @@ -22526,20 +22728,36 @@ snapshots: electron-to-chromium@1.5.142: {} + embla-carousel-autoplay@8.5.2(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + embla-carousel-autoplay@8.6.0(embla-carousel@8.6.0): dependencies: embla-carousel: 8.6.0 + embla-carousel-react@8.5.2(react@18.2.0): + dependencies: + embla-carousel: 8.5.2 + embla-carousel-reactive-utils: 8.5.2(embla-carousel@8.5.2) + react: 18.2.0 + embla-carousel-react@8.6.0(react@18.2.0): dependencies: embla-carousel: 8.6.0 embla-carousel-reactive-utils: 8.6.0(embla-carousel@8.6.0) react: 18.2.0 + embla-carousel-reactive-utils@8.5.2(embla-carousel@8.5.2): + dependencies: + embla-carousel: 8.5.2 + embla-carousel-reactive-utils@8.6.0(embla-carousel@8.6.0): dependencies: embla-carousel: 8.6.0 + embla-carousel@8.5.2: {} + embla-carousel@8.6.0: {} emittery@0.7.2: {} @@ -26267,6 +26485,10 @@ snapshots: mdn-data@2.0.14: {} + mdn-data@2.0.28: {} + + mdn-data@2.0.30: {} + mdn-data@2.0.4: {} mdn-data@2.12.2: {} @@ -28213,7 +28435,7 @@ snapshots: rc-animate@2.11.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: babel-runtime: 6.26.0 - classnames: 2.2.6 + classnames: 2.5.1 css-animation: 1.6.1 prop-types: 15.7.2 raf: 3.4.1 @@ -28224,7 +28446,7 @@ snapshots: rc-time-picker@3.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - classnames: 2.2.6 + classnames: 2.5.1 moment: 2.29.4 prop-types: 15.7.2 raf: 3.4.1 @@ -28237,7 +28459,7 @@ snapshots: rc-trigger@2.6.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: babel-runtime: 6.26.0 - classnames: 2.2.6 + classnames: 2.5.1 prop-types: 15.7.2 rc-align: 2.4.5 rc-animate: 2.11.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -28266,7 +28488,7 @@ snapshots: react-animate-height@2.0.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - classnames: 2.2.6 + classnames: 2.5.1 prop-types: 15.7.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -28827,7 +29049,7 @@ snapshots: react-toastify@5.5.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@babel/runtime': 7.20.6 - classnames: 2.2.6 + classnames: 2.5.1 prop-types: 15.7.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -30418,6 +30640,16 @@ snapshots: picocolors: 1.1.1 stable: 0.1.8 + svgo@3.3.2: + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.1.0 + css-tree: 2.3.1 + css-what: 6.1.0 + csso: 5.0.5 + picocolors: 1.1.1 + symbol-observable@1.2.0: {} symbol-tree@3.2.4: {} @@ -31617,20 +31849,20 @@ snapshots: - supports-color - terser - volto-form-block@3.11.0(@plone/volto@18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(volto-subblocks@2.1.0(@plone/volto@18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(react@18.2.0)): + volto-form-block@3.11.0(@plone/volto@18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(volto-subblocks@2.1.0(@plone/volto@18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(react@18.2.0)): dependencies: '@hcaptcha/react-hcaptcha': 0.3.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@plone/volto': 18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4) + '@plone/volto': 18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4) file-saver: 2.0.5 react-google-recaptcha-v3: 1.10.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - volto-subblocks: 2.1.0(@plone/volto@18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(react@18.2.0) + volto-subblocks: 2.1.0(@plone/volto@18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(react@18.2.0) transitivePeerDependencies: - react - react-dom - volto-subblocks@2.1.0(@plone/volto@18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(react@18.2.0): + volto-subblocks@2.1.0(@plone/volto@18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4))(react@18.2.0): dependencies: - '@plone/volto': 18.14.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4) + '@plone/volto': 18.23.0(@babel/runtime@7.27.0)(@popperjs/core@2.11.8)(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(seamless-immutable@7.1.4) react-dnd: 5.0.0(react@18.2.0) react-dnd-html5-backend: 5.0.1 transitivePeerDependencies: