diff --git a/backend/news/+restapi.feature b/backend/news/+restapi.feature
new file mode 100644
index 0000000..6484f88
--- /dev/null
+++ b/backend/news/+restapi.feature
@@ -0,0 +1 @@
+Update plone.restapi to version 9.15.2. @ericof
diff --git a/backend/news/+techevent.feature b/backend/news/+techevent.feature
new file mode 100644
index 0000000..5d5e086
--- /dev/null
+++ b/backend/news/+techevent.feature
@@ -0,0 +1 @@
+Update collective.techevent to version 1.0.0a18. @ericof
diff --git a/backend/pyproject.toml b/backend/pyproject.toml
index e416c91..9f77e26 100644
--- a/backend/pyproject.toml
+++ b/backend/pyproject.toml
@@ -26,13 +26,13 @@ classifiers = [
dependencies = [
"Products.CMFPlone==6.1.2",
"plone.api",
- "plone.restapi",
+ "plone.restapi>=9.15.2",
"plone.volto",
"plonegovbr.socialmedia>=2.0.0a6",
"collective.volto.formsupport",
"pas.plugins.authomatic==2.0.0",
"collective.honeypot",
- "collective.techevent==1.0.0a16",
+ "collective.techevent==1.0.0a18",
"plone.app.upgrade",
"plone.app.discussion",
]
@@ -105,7 +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.0a16",
+ "collective.techevent==1.0.0a18",
"collective.xmltestreport==2.0.2",
"collective.z3cform.datagridfield==3.0.4",
"colorama==0.4.6",
@@ -279,7 +279,7 @@ constraint-dependencies = [
"plone.resource==3.0.2",
"plone.resourceeditor==4.0.1",
"plone.rest==5.0.0",
- "plone.restapi==9.15.1",
+ "plone.restapi>=9.15.2",
"plone.rfc822==3.0.1",
"plone.scale==4.2.0",
"plone.schema==2.0.2",
diff --git a/backend/uv.lock b/backend/uv.lock
index 867a973..4dae590 100644
--- a/backend/uv.lock
+++ b/backend/uv.lock
@@ -42,7 +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.0a16" },
+ { name = "collective-techevent", specifier = "==1.0.0a18" },
{ name = "collective-xmltestreport", specifier = "==2.0.2" },
{ name = "collective-z3cform-datagridfield", specifier = "==3.0.4" },
{ name = "colorama", specifier = "==0.4.6" },
@@ -216,7 +216,7 @@ constraints = [
{ name = "plone-resource", specifier = "==3.0.2" },
{ name = "plone-resourceeditor", specifier = "==4.0.1" },
{ name = "plone-rest", specifier = "==5.0.0" },
- { name = "plone-restapi", specifier = "==9.15.1" },
+ { name = "plone-restapi", specifier = ">=9.15.2" },
{ name = "plone-rfc822", specifier = "==3.0.1" },
{ name = "plone-scale", specifier = "==4.2.0" },
{ name = "plone-schema", specifier = "==2.0.2" },
@@ -756,7 +756,7 @@ wheels = [
[[package]]
name = "collective-techevent"
-version = "1.0.0a16"
+version = "1.0.0a18"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "collective-z3cform-datagridfield" },
@@ -766,9 +766,9 @@ dependencies = [
{ name = "plonegovbr-socialmedia" },
{ name = "products-cmfplone" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/4c/03/681f16d7af56fb6bf6e5314fc8a05eb45463877acffcd5f0940c675c02f3/collective_techevent-1.0.0a16.tar.gz", hash = "sha256:49ef97c61bebcac2527f037b41a7604517b24e5be61978732dd09f01188a883b", size = 3557518 }
+sdist = { url = "https://files.pythonhosted.org/packages/2f/68/35ecc08c3b51a83c603a45194d5b154666f03b8b0b618ef9001eb4030971/collective_techevent-1.0.0a18.tar.gz", hash = "sha256:b0ef385ada1cb365d98b88fe6598596175d63b0379eafd7879dabaa199673fe4", size = 3561472 }
wheels = [
- { url = "https://files.pythonhosted.org/packages/12/a2/2aa46f1121d2e068cf34cdd625231f72f12c6ae9f33da096126b64de69b5/collective_techevent-1.0.0a16-py3-none-any.whl", hash = "sha256:2af664ddebde870d42a2194acae5a30bdc4fd27b2d0a6211032be74bce2cb1c1", size = 3618756 },
+ { url = "https://files.pythonhosted.org/packages/90/10/b047ba770c7cd49df38a5b99ae3923234da3d7ffcd20278524e3ccc036c5/collective_techevent-1.0.0a18-py3-none-any.whl", hash = "sha256:490e5d20de2a61486ec443a01fc2b4a1fb31a7e3e615464881c3bc7e9af17a1f", size = 3625393 },
]
[[package]]
@@ -3320,7 +3320,7 @@ wheels = [
[[package]]
name = "plone-restapi"
-version = "9.15.1"
+version = "9.15.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "packaging" },
@@ -3332,9 +3332,9 @@ dependencies = [
{ name = "pytz" },
{ name = "setuptools" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/94/16/96c1549aeead4b42fbe0e319d43082d1b9054a4d040b66906174a4765ee3/plone_restapi-9.15.1.tar.gz", hash = "sha256:80948ff894b7d0f0a9424abe0452150a4d237d75083cf4eb6306ecfa826769cd", size = 2972384 }
+sdist = { url = "https://files.pythonhosted.org/packages/77/57/f426be2a333d75b6d2e56f6b0b4cc02905ba502782ace731b0701a67849a/plone_restapi-9.15.2.tar.gz", hash = "sha256:489133964f587bca5381868fc8765e6e909fe63d0331cf63687b990e5e6473e3", size = 2972912 }
wheels = [
- { url = "https://files.pythonhosted.org/packages/c7/ea/f6f7ed80fb3ec67d0f1ae4ff69a3549ddab3b34145e8bee50df215b6d4a6/plone.restapi-9.15.1-py3-none-any.whl", hash = "sha256:b3c2bfa0bb77763dfbc9a27c11ef04921f50cc403096b6f876961faf7566528f", size = 3092966 },
+ { url = "https://files.pythonhosted.org/packages/7b/0f/5252520e045cc683b9af6d1f1459b2915be1fefe6ffd7f8197606c44e41e/plone.restapi-9.15.2-py3-none-any.whl", hash = "sha256:b4574b7a6246098c934418e209fcc66f6dcb35c8e6686d934303a3c770e96c70", size = 3093339 },
]
[package.optional-dependencies]
@@ -4467,13 +4467,13 @@ test = [
[package.metadata]
requires-dist = [
{ name = "collective-honeypot" },
- { name = "collective-techevent", specifier = "==1.0.0a16" },
+ { name = "collective-techevent", specifier = "==1.0.0a18" },
{ name = "collective-volto-formsupport" },
{ name = "pas-plugins-authomatic", specifier = "==2.0.0" },
{ name = "plone-api" },
{ name = "plone-app-discussion" },
{ name = "plone-app-upgrade" },
- { name = "plone-restapi" },
+ { name = "plone-restapi", specifier = ">=9.15.2" },
{ name = "plone-volto" },
{ name = "plonegovbr-socialmedia", specifier = ">=2.0.0a6" },
{ name = "products-cmfplone", specifier = "==6.1.2" },
diff --git a/frontend/packages/volto-pythonbrasil-site/news/+estilos.feature b/frontend/packages/volto-pythonbrasil-site/news/+estilos.feature
new file mode 100644
index 0000000..8556eee
--- /dev/null
+++ b/frontend/packages/volto-pythonbrasil-site/news/+estilos.feature
@@ -0,0 +1 @@
+Melhoria de estilos para navegação em dispositivos móveis. @ericof
diff --git a/frontend/packages/volto-pythonbrasil-site/news/+logo.feature b/frontend/packages/volto-pythonbrasil-site/news/+logo.feature
new file mode 100644
index 0000000..1788efa
--- /dev/null
+++ b/frontend/packages/volto-pythonbrasil-site/news/+logo.feature
@@ -0,0 +1 @@
+Altera logo da navegação. @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..8d08012
--- /dev/null
+++ b/frontend/packages/volto-pythonbrasil-site/news/+techevent.feature
@@ -0,0 +1 @@
+Update @plone-collective/volto-techevent to version 1.0.0-alpha.18. @ericof
diff --git a/frontend/packages/volto-pythonbrasil-site/package.json b/frontend/packages/volto-pythonbrasil-site/package.json
index 15bc822..f372f7e 100644
--- a/frontend/packages/volto-pythonbrasil-site/package.json
+++ b/frontend/packages/volto-pythonbrasil-site/package.json
@@ -48,7 +48,7 @@
"@plone/registry": "workspace:*",
"@eeacms/volto-matomo": "*",
"@eeacms/volto-statistic-block": "*",
- "@plone-collective/volto-techevent": "1.0.0-alpha.16",
+ "@plone-collective/volto-techevent": "1.0.0-alpha.18",
"@kitconcept/volto-light-theme": "7.0.0-alpha.22",
"@kitconcept/volto-social-blocks": "1.0.0-alpha.8",
"@mbarde/volto-image-crop-widget": "0.5.1",
diff --git a/frontend/packages/volto-pythonbrasil-site/src/components/Logo/Logo.jsx b/frontend/packages/volto-pythonbrasil-site/src/components/Logo/Logo.jsx
index c33b1ec..5b08a09 100644
--- a/frontend/packages/volto-pythonbrasil-site/src/components/Logo/Logo.jsx
+++ b/frontend/packages/volto-pythonbrasil-site/src/components/Logo/Logo.jsx
@@ -2,12 +2,13 @@ import { useIntl } from 'react-intl';
import messages from '@plonegovbr/volto-pythonbrasil-site/messages';
import UniversalLink from '@plone/volto/components/manage/UniversalLink/UniversalLink';
import LogoFullImage from './logo.svg';
-import LogoSlimImage from './logo-slim.svg';
+import LogoDataImage from './logo-data.svg';
const LogoImg = ({ intl, logo }) => {
return (
@@ -16,7 +17,7 @@ const LogoImg = ({ intl, logo }) => {
const Logo = ({ link, logoSize }) => {
const intl = useIntl();
- const logo = logoSize === 'full' ? LogoFullImage : LogoSlimImage;
+ const logo = logoSize === 'full' ? LogoFullImage : LogoDataImage;
return link ? (
diff --git a/frontend/packages/volto-pythonbrasil-site/src/components/Logo/logo-data.svg b/frontend/packages/volto-pythonbrasil-site/src/components/Logo/logo-data.svg
new file mode 100644
index 0000000..d7b2aeb
--- /dev/null
+++ b/frontend/packages/volto-pythonbrasil-site/src/components/Logo/logo-data.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/packages/volto-pythonbrasil-site/src/config/blocks.ts b/frontend/packages/volto-pythonbrasil-site/src/config/blocks.ts
index dafbe65..8f1b74e 100644
--- a/frontend/packages/volto-pythonbrasil-site/src/config/blocks.ts
+++ b/frontend/packages/volto-pythonbrasil-site/src/config/blocks.ts
@@ -21,6 +21,7 @@ declare module '@plone/types' {
accordion: BlockConfigBase;
gridCTA: BlockConfigBase;
chamadaBlock: BlockConfigBase;
+ slider: BlockConfigBase;
}
export interface BlockConfigBase {
themes?: StyleDefinition[];
@@ -147,6 +148,9 @@ export default function install(config: ConfigType) {
config.blocks.blocksConfig.image.schemaEnhancer =
composeSchema(defaultStylingSchema);
+ // Configure Slider
+ config.blocks.blocksConfig.slider.enableAutoPlay = true;
+
config.blocks.blocksConfig.accordion = {
...config.blocks.blocksConfig.accordion,
blocksConfig: {
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/_main.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/_main.scss
index c54c2f0..80351f3 100644
--- a/frontend/packages/volto-pythonbrasil-site/src/theme/_main.scss
+++ b/frontend/packages/volto-pythonbrasil-site/src/theme/_main.scss
@@ -10,6 +10,8 @@
@import 'components/login';
@import 'components/presenter_category';
@import 'components/presenter_view';
+@import 'components/session_view';
+@import 'components/sessionInfo';
@import 'components/sponsor_view';
@import 'blocks/accordion';
@import 'blocks/description';
@@ -20,6 +22,8 @@
@import 'blocks/gridCTA';
@import 'blocks/heading';
@import 'blocks/listing';
+@import 'blocks/search';
+@import 'blocks/slider';
@import 'blocks/chamada';
@import 'blocks/image';
@import 'blocks/block_sponsorlevel';
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/_root.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/_root.scss
index abf92b3..748b505 100644
--- a/frontend/packages/volto-pythonbrasil-site/src/theme/_root.scss
+++ b/frontend/packages/volto-pythonbrasil-site/src/theme/_root.scss
@@ -1,6 +1,6 @@
:root {
// Layout
- --narrow-container-width: 1024px;
+ --narrow-container-width: 960px;
--default-container-width: 1024px;
--layout-container-width: 1440px;
// Theme
@@ -49,6 +49,9 @@
/// Sponsors
--techevent-sponsortile-background-main: #fff;
+ /// Schedule
+ --techevent-schedule-color: var(--accent-color);
+ --techevent-schedule-reverse-color: var(--accent-foreground-color);
// 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 395113e..0551c54 100644
--- a/frontend/packages/volto-pythonbrasil-site/src/theme/_variables.scss
+++ b/frontend/packages/volto-pythonbrasil-site/src/theme/_variables.scss
@@ -171,3 +171,45 @@ $color-block-change-vertical-spacing: $spacing-large !default;
}
}
}
+
+// Presenter
+@mixin presenterImage() {
+ border-radius: 10%;
+ filter: drop-shadow(3px 3px var(--secondary-color));
+}
+
+// Session
+@mixin cardContainerSessionGrid() {
+ border: 1px solid var(--theme-high-contrast-color);
+ filter: drop-shadow(2px 2px var(--secondary-color));
+ &:hover {
+ border: 1px solid var(--theme-foreground-color);
+ }
+ .sessionTitle {
+ .title {
+ @include add(size, m);
+ @include add(height, m);
+ }
+ }
+ .sessionDescription {
+ @include add(size, s);
+ @include add(height, s);
+ }
+ .sessionHeader {
+ justify-content: space-between;
+ }
+ .sessionBody {
+ height: 45px;
+ .presenters {
+ @include add(size, xs);
+ @include add(height, xs);
+ .presenter {
+ display: inline;
+ text-decoration: none;
+ @include add(size, xs);
+ @include add(height, xs);
+ @include add(weight, bold);
+ }
+ }
+ }
+}
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_image.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_image.scss
index 937832b..b5294a4 100644
--- a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_image.scss
+++ b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_image.scss
@@ -2,6 +2,11 @@
#page-edit .blocks-form,
#page-document .blocks-group-wrapper {
.block.image {
+ &.align.center {
+ max-width: var(--default-container-width);
+ margin-right: auto;
+ margin-left: auto;
+ }
&.align.full {
width: 100vw;
max-width: 100vw;
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_listing.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_listing.scss
index d4eebcf..457bcd8 100644
--- a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_listing.scss
+++ b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_listing.scss
@@ -15,14 +15,25 @@
}
}
}
+ &.presenter-listing {
+ .card .card-inner {
+ .image-wrapper {
+ img {
+ @include presenterImage();
+ }
+ }
+ }
+ }
}
}
}
&.grid {
+ .card-container.session {
+ @include cardContainerSessionGrid();
+ }
.presenterTile {
.presenterImage {
- border-radius: 10%;
- filter: drop-shadow(2px 2px var(--secondary-color));
+ @include presenterImage();
}
}
}
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_search.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_search.scss
new file mode 100644
index 0000000..73e6e54
--- /dev/null
+++ b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_search.scss
@@ -0,0 +1,19 @@
+.block.search {
+ &.grid {
+ .listing-item {
+ max-height: 450px;
+ .card-container.session {
+ @include cardContainerSessionGrid();
+ }
+ }
+ }
+ .searchBlock-container {
+ .react-select__menu {
+ z-index: 50;
+ padding-left: $spacing-xsmall;
+ border: 1px solid var(--border-color);
+ background-color: var(--background-color) !important;
+ filter: drop-shadow(2px 2px var(--secondary-color));
+ }
+ }
+}
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_slider.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_slider.scss
new file mode 100644
index 0000000..d16d5f0
--- /dev/null
+++ b/frontend/packages/volto-pythonbrasil-site/src/theme/blocks/_slider.scss
@@ -0,0 +1,61 @@
+.block.slider {
+ .slider-wrapper {
+ .teaser-item-title {
+ bottom: 20px;
+ display: flex;
+ width: 100%;
+ flex-direction: column;
+ padding-bottom: $spacing-xsmall;
+ background: linear-gradient(
+ 180deg,
+ rgba(255, 255, 255, 0) 0%,
+ rgba(30, 30, 30, 70) 60%,
+ rgba(0, 0, 0, 1) 100%
+ );
+ color: white;
+ transform: unset;
+ .title {
+ width: 50%;
+ h2 {
+ @include add(size, 2xl);
+ @include add(height, 2xl);
+ }
+ }
+ p {
+ width: 90%;
+ }
+ @media only screen and (max-width: $tablet-breakpoint) {
+ min-height: 250px;
+ padding-top: $spacing-xsmall;
+ .title {
+ width: 100%;
+ h2 {
+ @include add(size, l);
+ @include add(height, l);
+ }
+ }
+ p {
+ display: none;
+ }
+ }
+ &.has--slider--flagAlign--left {
+ align-items: flex-start;
+ }
+ &.has--slider--flagAlign--right {
+ align-items: flex-end;
+ .title {
+ text-align: right;
+ }
+ p {
+ text-align: right;
+ }
+ @media only screen and (max-width: $tablet-breakpoint) {
+ align-items: flex-start;
+ .title {
+ text-align: left;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/components/_breadcrumbs.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_breadcrumbs.scss
index 9092e1e..afdce57 100644
--- a/frontend/packages/volto-pythonbrasil-site/src/theme/components/_breadcrumbs.scss
+++ b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_breadcrumbs.scss
@@ -6,8 +6,8 @@ body #main {
}
.breadcrumb {
max-width: var(--default-container-width);
- margin-right: 5px;
- margin-left: 5px;
+ margin-right: auto;
+ margin-left: auto;
text-transform: uppercase;
.section {
@include add(size, s);
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/components/_header.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_header.scss
index 46b0b38..b6f428b 100644
--- a/frontend/packages/volto-pythonbrasil-site/src/theme/components/_header.scss
+++ b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_header.scss
@@ -1,5 +1,6 @@
// Header wrapper
body header.header-wrapper {
+ max-width: 100%;
margin-top: $spacing-small;
.header.layout {
.search-wrapper {
@@ -15,9 +16,6 @@ body header.header-wrapper {
}
}
}
- }
- .header.layout {
- max-width: 100%;
.logo {
display: flex;
max-width: unset;
@@ -35,19 +33,24 @@ body header.header-wrapper {
padding-top: 0;
padding-bottom: 0;
}
- }
- // Mobile Navigation
- .mobile-nav {
- div.menu-drawer {
- .search-header {
- display: none;
+ .navigation {
+ .item {
+ @include add(size, l);
}
}
- .hamburger:before,
- .hamburger::after,
- .hamburger-inner:after,
- .hamburger-inner::before {
- background-color: var(--primary-foreground-color);
+ // Mobile Navigation
+ .mobile-nav {
+ div.menu-drawer {
+ .search-header {
+ display: none;
+ }
+ }
+ .hamburger:before,
+ .hamburger::after,
+ .hamburger-inner:after,
+ .hamburger-inner::before {
+ background-color: var(--primary-color);
+ }
}
}
}
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/components/_presenter_category.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_presenter_category.scss
index 9b8bbee..2b2c301 100644
--- a/frontend/packages/volto-pythonbrasil-site/src/theme/components/_presenter_category.scss
+++ b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_presenter_category.scss
@@ -7,6 +7,12 @@
--primary-foreground-color
);
}
+ &.instructor {
+ --techevent-presenter-category-background-color: var(--secondary-color);
+ }
+ &.speaker {
+ --techevent-presenter-category-background-color: var(--secondary-color);
+ }
}
}
}
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/components/_presenter_view.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_presenter_view.scss
index 50a4deb..648001a 100644
--- a/frontend/packages/volto-pythonbrasil-site/src/theme/components/_presenter_view.scss
+++ b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_presenter_view.scss
@@ -6,8 +6,7 @@
gap: $spacing-medium;
.image-wrapper {
img {
- border-radius: 10%;
- filter: drop-shadow(2px 2px var(--secondary-color));
+ @include presenterImage();
}
}
.presenterDescription {
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/components/_sessionInfo.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_sessionInfo.scss
new file mode 100644
index 0000000..a66ffcb
--- /dev/null
+++ b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_sessionInfo.scss
@@ -0,0 +1,23 @@
+.sessionInfo {
+ min-height: 30px;
+ .sessionInfoItem {
+ &.sessionLanguage {
+ width: 20px;
+ min-height: 20px;
+ background-repeat: no-repeat;
+ background-size: contain;
+ &.en {
+ background-image: url('../static/en.png');
+ }
+ &.es {
+ background-image: url('../static/es.png');
+ }
+ &.pt-br {
+ background-image: url('../static/pt-br.png');
+ }
+ .token {
+ display: none;
+ }
+ }
+ }
+}
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/components/_session_view.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_session_view.scss
new file mode 100644
index 0000000..34932ab
--- /dev/null
+++ b/frontend/packages/volto-pythonbrasil-site/src/theme/components/_session_view.scss
@@ -0,0 +1,22 @@
+.session-view {
+ .sessionInfo {
+ margin-bottom: $spacing-small;
+ --techevent-slotInfo-color: var(--secondary-foreground-color);
+ background-color: var(--secondary-color);
+ color: var(--secondary-foreground-color);
+ }
+ .sessionPresenters {
+ .presenterTile {
+ .imgWrapper {
+ .presenterImage {
+ @include presenterImage();
+ }
+ }
+ .presenterTitle {
+ .title {
+ --secondary-foreground-color: var(--secondary-color);
+ }
+ }
+ }
+ }
+}
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/sections/_home.scss b/frontend/packages/volto-pythonbrasil-site/src/theme/sections/_home.scss
index 2036805..318ab72 100644
--- a/frontend/packages/volto-pythonbrasil-site/src/theme/sections/_home.scss
+++ b/frontend/packages/volto-pythonbrasil-site/src/theme/sections/_home.scss
@@ -1,30 +1,5 @@
body.siteroot {
background-color: var(--background-color);
- .header-wrapper {
- margin-top: $spacing-medium;
- .logo-nav-wrapper {
- height: 140px;
- .logo {
- display: none !important;
- }
- }
- @media only screen and (max-width: $tablet-breakpoint) {
- margin-top: $spacing-small;
- .logo-nav-wrapper {
- height: 100px;
- .logo {
- display: flex !important;
- flex: 0 1 0;
- img {
- height: 100px;
- }
- }
- }
- .menu-drawer {
- top: calc(100px + 1rem);
- }
- }
- }
#page-document {
.blocks-group-wrapper:first-child {
padding-top: 60px;
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/static/en.png b/frontend/packages/volto-pythonbrasil-site/src/theme/static/en.png
new file mode 100644
index 0000000..c86021e
Binary files /dev/null and b/frontend/packages/volto-pythonbrasil-site/src/theme/static/en.png differ
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/static/es.png b/frontend/packages/volto-pythonbrasil-site/src/theme/static/es.png
new file mode 100644
index 0000000..1a07e2d
Binary files /dev/null and b/frontend/packages/volto-pythonbrasil-site/src/theme/static/es.png differ
diff --git a/frontend/packages/volto-pythonbrasil-site/src/theme/static/pt-br.png b/frontend/packages/volto-pythonbrasil-site/src/theme/static/pt-br.png
new file mode 100644
index 0000000..dc015fe
Binary files /dev/null and b/frontend/packages/volto-pythonbrasil-site/src/theme/static/pt-br.png differ
diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml
index a36bf23..6f7b224 100644
--- a/frontend/pnpm-lock.yaml
+++ b/frontend/pnpm-lock.yaml
@@ -1575,8 +1575,8 @@ importers:
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.16
- version: 1.0.0-alpha.16(@kitconcept/volto-light-theme@7.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-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)(semantic-ui-react@2.1.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(storybook@8.6.12(prettier@3.2.5))
+ specifier: 1.0.0-alpha.18
+ version: 1.0.0-alpha.18(@kitconcept/volto-light-theme@7.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-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)(semantic-ui-react@2.1.5(react-dom@18.2.0(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
@@ -3600,8 +3600,8 @@ packages:
react: 18.2.0
react-dom: 18.2.0
- '@plone-collective/volto-techevent@1.0.0-alpha.16':
- resolution: {integrity: sha512-vuavHykxCtx96820gn7Pfs88oTSk4ws8QUp2WCx7yz1xddY6ZZkJ7FHClJGK0gb2KJWnAabn+rAy+FxEQ8FHzQ==}
+ '@plone-collective/volto-techevent@1.0.0-alpha.18':
+ resolution: {integrity: sha512-byDF96LqQ2XA3xAxLh7Q5qH37XXO8HiPf+GW2epQybfleqMa/TOya9kQ4PyGxZEujvTU7NhhTX8nskRKuPAkDw==}
peerDependencies:
'@kitconcept/volto-light-theme': '*'
react: 18.2.0
@@ -17345,7 +17345,7 @@ snapshots:
transitivePeerDependencies:
- storybook
- ? '@plone-collective/volto-techevent@1.0.0-alpha.16(@kitconcept/volto-light-theme@7.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-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)(semantic-ui-react@2.1.5(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@1.0.0-alpha.18(@kitconcept/volto-light-theme@7.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-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)(semantic-ui-react@2.1.5(react-dom@18.2.0(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.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-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))
@@ -20273,7 +20273,7 @@ snapshots:
sirv: 3.0.1
tinyglobby: 0.2.13
tinyrainbow: 1.2.0
- vitest: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@21.1.2)(less@3.11.1)(lightningcss@1.29.3)(sass@1.87.0)(terser@5.39.0)
+ vitest: 2.1.9(@types/node@20.17.30)(@vitest/ui@2.1.9)(jsdom@22.1.0)(less@3.11.1)(lightningcss@1.29.3)(sass@1.87.0)(terser@5.39.0)
optional: true
'@vitest/ui@2.1.9(vitest@3.1.2)':