feat: initial ACRIB WordPress deployment

- WordPress 6.9.4 (es_ES) with Kadence theme
- Homepage: Hero, La Asociación, Pilares, Beneficios, Eventos, Miembros, Hazte Miembro, Contacto
- Brand identity: #13294b navy, #a12932 burgundy, #c69c48 gold
- Fonts: Raleway (headings) + Source Sans 3 (body) + Lato (UI)
- Plugins: Kadence Blocks, Polylang, Contact Form 7
- Custom CSS with full brand styling and responsive layout
- HTTPS enforced via wp-config.php proxy detection
This commit is contained in:
Malin
2026-05-19 19:25:59 +02:00
commit f3ff7b7186
6119 changed files with 1984255 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
const { Fragment } = wp.element;
const { withFilters } = wp.components;
export const ChangelogItem = ( version ) => {
return (
<div className="changelog-version">
<h3 className="version-head">{ version.item.head }</h3>
{ version.item.add && (
<Fragment>
{ version.item.add.map( ( adds, index ) => {
return <div className="version-add">{ adds }</div>;
} ) }
</Fragment>
) }
{ version.item.update && (
<Fragment>
{ version.item.update.map( ( updates, index ) => {
return <div className="version-update">{ updates }</div>;
} ) }
</Fragment>
) }
{ version.item.fix && (
<Fragment>
{ version.item.fix.map( ( fixes, index ) => {
return <div className="version-fix">{ fixes }</div>;
} ) }
</Fragment>
) }
</div>
);
};
export default withFilters( 'kadence_theme_changelog' )( ChangelogItem );

View File

@@ -0,0 +1,86 @@
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
const { Fragment } = wp.element;
const { withFilters } = wp.components;
const { TabPanel, Panel, PanelBody } = wp.components;
import ChangelogItem from './changelog-item';
export const ChangelogTab = () => {
const tabs = [
{
name: 'kadence',
title: __( 'Changelog', 'kadence' ),
className: 'kadence-changelog-tab',
},
{
name: 'pro',
title: __( 'Pro Changelog', 'kadence' ),
className: 'kadence-pro-changelog-tab',
},
];
return (
<Fragment>
{ kadenceDashboardParams.changelog && (
<Fragment>
{ kadenceDashboardParams.proChangelog && kadenceDashboardParams.proChangelog.length && (
<TabPanel className="kadence-dashboard-changelog-tab-panel"
activeClass="active-tab"
tabs={ tabs }>
{
( tab ) => {
switch ( tab.name ) {
case 'kadence':
return (
<Panel className="kadence-changelog-section tab-section">
<PanelBody
opened={ true }
>
{ kadenceDashboardParams.changelog.map( ( item, index ) => {
return <ChangelogItem
item={ item }
index={ item }
/>;
} ) }
</PanelBody>
</Panel>
);
case 'pro':
return (
<Panel className="pro-changelog-section tab-section">
<PanelBody
opened={ true }
>
{ kadenceDashboardParams.proChangelog.map( ( item, index ) => {
return <ChangelogItem
item={ item }
index={ item }
/>;
} ) }
</PanelBody>
</Panel>
);
}
}
}
</TabPanel>
) }
{ ( '' == kadenceDashboardParams.proChangelog || ( Array.isArray( kadenceDashboardParams.proChangelog ) && ! kadenceDashboardParams.proChangelog.length ) ) && (
<Fragment>
{ kadenceDashboardParams.changelog.map( ( item, index ) => {
return <ChangelogItem
item={ item }
index={ item }
/>;
} ) }
</Fragment>
) }
</Fragment>
) }
</Fragment>
);
};
export default withFilters( 'kadence_theme_changelog' )( ChangelogTab );

View File

@@ -0,0 +1,76 @@
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
const { Fragment } = wp.element;
import map from 'lodash/map';
const { withFilters, TabPanel, Panel, PanelBody, PanelRow, Button } = wp.components;
export const CustomizerLinks = () => {
const headerLinks = [
{
title: __( 'Global Colors', 'kadence' ),
description: __( 'Setup the base color scheme for your site.', 'kadence' ),
focus: 'kadence_customizer_general_colors',
type: 'section',
setting: false
},
{
title: __( 'Branding', 'kadence' ),
description: __( 'Upload your logo and favicon.', 'kadence' ),
focus: 'title_tagline',
type: 'section',
setting: false
},
{
title: __( 'Typography', 'kadence' ),
description: __( 'Choose the perfect font family, style and sizes.', 'kadence' ),
focus: 'kadence_customizer_general_typography',
type: 'section',
setting: false
},
{
title: __( 'Header Layout', 'kadence' ),
description: __( 'Add elements and arrange them how you want.', 'kadence' ),
focus: 'kadence_customizer_header',
type: 'panel',
setting: false
},
{
title: __( 'Page Layout', 'kadence' ),
description: __( 'Define your sites general page look and feel for page title, and content style.', 'kadence' ),
focus: 'kadence_customizer_page_layout',
type: 'section',
setting: false
},
{
title: __( 'Footer Layout', 'kadence' ),
description: __( 'Customize the columns and place widget areas in unlimited configurations', 'kadence' ),
focus: 'kadence_customizer_footer_layout',
type: 'section',
setting: false
},
];
return (
<Fragment>
<h2 className="section-header">{ __( 'Customize Your Site', 'kadence' ) }</h2>
<div className="two-col-grid">
{ map( headerLinks, ( link ) => {
return (
<div className="link-item">
<h4>{ link.title }</h4>
<p>{ link.description }</p>
<div className="link-item-foot">
<a href={ `${kadenceDashboardParams.adminURL}customize.php?autofocus%5B${ link.type }%5D=${ link.focus }` }>
{ __( 'Customize', 'kadence') }
</a>
</div>
</div>
);
} ) }
</div>
</Fragment>
);
};
export default withFilters( 'kadence_theme_customizer' )( CustomizerLinks );

View File

@@ -0,0 +1,282 @@
$color-primary: #007cba;
$color-gray-200: #EDF2F7;
$color-gray-300: #E2E8F0;
$color-gray-400: #CBD5E0;
$color-gray-500: #A0AEC0;
$color-gray-600: #718096;
$color-gray-700: #4A5568;
$color-gray-800: #2D3748;
.appearance_page_kadence #wpcontent {
padding: 0;
}
.kadence_theme_dash_head {
background: white;
padding: 10px;
height: 50px;
h1 {
color: $color-gray-800;
line-height: 50px;
padding:0;
height: 50px;
margin:0;
display: flex;
align-items: center;
}
.subtext {
font-size: 16px;
color: $color-gray-600;
display: inline-block;
padding-left: 10px;
}
.kadence_theme_dash_head_container {
margin: 0 auto;
max-width: 1260px;
display: flex;
align-items: center;
}
.kadence_theme_dash_logo{
width: 50px;
height: 50px;
padding-right: 10px;
img {
width: 50px;
}
}
.kadence_theme_dash_version {
flex-grow: 1;
text-align: right;
}
.kadence_theme_dash_version span {
padding: 5px;
background: $color-gray-700;
color: white;
}
}
.wrap.kadence_theme_dash {
margin: 20px 20px 0;
}
.kadence_theme_dashboard {
margin: 0 auto;
max-width: 1260px;
}
.page-grid {
display: grid;
grid-template-columns: 1fr 260px;
grid-gap: 3em;
}
.sidebar-section .components-panel__body.is-opened {
padding: 20px;
}
.sidebar-section h2:first-child, .tab-section h2:first-child {
margin-top: 0;
}
.side-panel .components-panel+.components-panel {
margin-top: 1rem;
}
.tab-section .components-panel__body.is-opened {
padding: 25px;
}
.kadence-dashboard-tab-panel {
.components-tab-panel__tabs {
.components-button {
border: 1px solid transparent;
background: transparent;
border: none;
box-shadow: none;
border-radius: 0;
cursor: pointer;
height: 48px;
padding: 3px 16px;
margin-left: 0;
font-weight: 500;
&:hover {
box-shadow: none !important;
}
&:not(.active-tab):hover {
color: $color-primary !important;
background: transparent !important;;
}
}
.components-button.active-tab {
background: white;
border: 1px solid #e2e4e7;
border-bottom-color: transparent;
}
}
.components-tab-panel__tabs {
margin-bottom: -1px;
}
}
.two-col-grid {
display: grid;
grid-gap: 1rem;
grid-template-columns: 1fr 1fr 1fr;
}
h3.section-sub-head {
background: $color-gray-200;
padding: 10px;
color: $color-gray-700;
font-size: 14px;
text-transform: uppercase;
margin-bottom:1rem;
margin-top: 2rem;
}
.link-item {
border: 1px solid $color-gray-300;
padding: 20px;
border-radius: 4px;
display: flex;
flex-flow: column nowrap;
}
.link-item h4 {
margin: 0;
}
.dashboard-pro-settings {
margin-top: 2rem;
}
.link-item .link-item-foot {
margin-top: auto;
display: flex;
align-items: center;
.components-spinner {
margin-top: 0;
}
.components-toggle-control .components-base-control__field {
margin-bottom: 0;
.components-form-toggle {
margin-right: 0;
}
}
}
.link-item .link-item-foot > *:first-child {
flex-grow: 2;
}
.link-item a {
display: block;
background: transparent;
color: $color-gray-700;
&:hover {
color:$color-primary;
}
}
span.kt-license-status {
padding: 4px;
margin-left: 10px;
font-size: 14px;
text-transform: uppercase;
}
span.kt-license-status.k-inactive {
color: #c05621!important;
background: #fffaf0!important;
}
span.kt-license-status.k-active {
color: #2b6cb0!important;
background: #ebf8ff!important;
}
.license-section h2 {
display: flex;
margin-top: 0;
align-items: center;
justify-content: space-between;
}
.license-section table.form-table {
display: block;
}
.license-section table.form-table tbody {
display: block;
}
.license-section table.form-table td, .license-section table.form-table tr {
display: block;
padding: 0;
width: 100%;
}
.license-section .form-table th {
padding:0;
width: 100%;
margin-bottom: 4px;
display: block;
color: $color-gray-700;
}
.license-section p.submit {
padding: 0;
margin-top: 10px;
}
.license-section table.form-table input[type="text"] {
width:100%;
}
.kadence-desk-help-inner {
max-width: 600px;
margin: 20px auto;
text-align: center;
}
.kadence_theme_dashboard_main .kadence-desk-button {
margin-top: 30px;
margin-bottom: 10px;
display: inline-block;
padding: 10px 12px;
background: #005ab3;
border-radius: 3px;
font-size: 17px;
color: white;
text-decoration: none;
transition: all .2s ease;
border: 2px solid #005ab3;
height: auto;
}
.kadence_theme_dashboard_main .kadence-desk-button:hover {
background: #0073e6;
border-color: #0073e6;
}
.kadence_theme_dashboard_main .kadence-desk-button.kadence-desk-button-second {
margin-left: 30px;
border: 2px solid #005ab3;
color: #005ab3;
background: transparent;
}
.kadence_theme_dashboard_main .kadence-desk-button.kadence-desk-button-second:hover {
border: 2px solid#0073e6;
color: #0073e6;
background: transparent;
}
.kadence_theme_dashboard_main .kadence-desk-button .components-spinner {
background-color: rgba(0, 0, 0, 0.2);
margin: 0 0 -2px 10px;
}
.kadence-desk-help-inner h2, .kadence-desk-starter-inner h2 {
font-size: 24px;
}
.kadence-desk-starter-inner p {
max-width: 600px;
margin: 1em auto;
}
.kadence-desk-help-inner .video-container {
margin-top: 2em;
}
.changelog-version {
padding: 2em;
margin-bottom: 2em;
border: 1px solid #eee;
border-radius: 4px;
font-size: 14px;
line-height: 1.8;
}
.dashboard-pro-settings .link-item.locked-item {
background: #fbfdff;
position: relative;
}
.link-item.locked-item .lock-icon svg {
width: 100%;
height: auto;
fill: #acb4bf;
}
.link-item.locked-item .lock-icon {
position: absolute;
right: 0;
top: 0;
width: 25px;
}
.kadence-desk-help-inner .video-container img {
max-width: 100%;
height: auto;
}

View File

@@ -0,0 +1,21 @@
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
const { Fragment } = wp.element;
const { withFilters } = wp.components;
export const HelpTab = () => {
return (
<div className="kadence-desk-help-inner">
<h2>{ __( 'Welcome to Kadence!', 'kadence' ) }</h2>
<p>{ __( 'You are going to love working with this theme! View the video below to get started with our video tutorials or click the view knowledge base button below to see all the documentation.', 'kadence' ) }</p>
<div className="video-container">
<a href="https://www.youtube.com/watch?v=GqEecMF7WtE"><img width="1280" height="720" src={ kadenceDashboardParams.videoImage } alt={ __( 'Kadence Theme Getting Started Tutorial - 10 Minute Quick Start Guide', 'kadence' ) } /></a>
</div>
<a href="https://kadence-theme.com/learn-kadence" className="kadence-desk-button" target="_blank">{ __( 'Video Tutorials', 'kadence' ) }</a><a href="https://kadence-theme.com/knowledge-base/" className="kadence-desk-button kadence-desk-button-second" target="_blank">{ __( 'View Knowledge Base', 'kadence' ) }</a>
</div>
);
};
export default withFilters( 'kadence_theme_help' )( HelpTab );

View File

@@ -0,0 +1,142 @@
/**
* Internal dependencies
*/
import HelpTab from './help';
import ChangelogTab from './changelog';
import ProSettings from './pro-extension';
import RecommendedTab from './recomended';
import StarterTab from './starter';
import Sidebar from './sidebar';
import CustomizerLinks from './customizer';
import Notices from './notices';
/**
* WordPress dependencies
*/
import { __, sprintf } from '@wordpress/i18n';
import { Fragment, Component, createRoot } from '@wordpress/element';
import { TabPanel, Panel, PanelBody, PanelRow, Button } from '@wordpress/components';
class KadenceDashboard extends Component {
render() {
const tabs = [
{
name: 'dashboard',
title: __( 'Dashboard', 'kadence' ),
className: 'kadence-dash-tab',
},
{
name: 'help',
title: __( 'Getting Started', 'kadence' ),
className: 'kadence-help-tab',
},
{
name: 'changelog',
title: __( 'Changelog', 'kadence' ),
className: 'kadence-changelog-tab',
},
// {
// name: 'recommended',
// title: __( 'Recommended Plugins', 'kadence' ),
// className: 'kadence-recommended-tab',
// },
{
name: 'starter',
title: __( 'Starter Templates', 'kadence' ),
className: 'kadence-starter-tab',
},
];
const KadenceDashTabPanel = () => (
<TabPanel className="kadence-dashboard-tab-panel"
activeClass="active-tab"
tabs={ tabs }>
{
( tab ) => {
switch ( tab.name ) {
case 'dashboard':
return (
<Panel className="dashboard-section tab-section">
<PanelBody
opened={ true }
>
<div className="dashboard-modules-wrapper">
<div className="dashboard-customizer-settings">
<CustomizerLinks />
</div>
<div className="dashboard-pro-settings">
<ProSettings />
</div>
</div>
</PanelBody>
</Panel>
);
case 'help':
return (
<Panel className="help-section tab-section">
<PanelBody
opened={ true }
>
<HelpTab />
</PanelBody>
</Panel>
);
case 'changelog':
return (
<Panel className="changelog-section tab-section">
<PanelBody
opened={ true }
>
<ChangelogTab />
</PanelBody>
</Panel>
);
case 'recommended':
return (
<Panel className="recommended-section tab-section">
<PanelBody
opened={ true }
>
<RecommendedTab />
</PanelBody>
</Panel>
);
case 'starter':
return (
<Panel className="starter-section tab-section">
<PanelBody
opened={ true }
>
<StarterTab />
</PanelBody>
</Panel>
);
}
}
}
</TabPanel>
);
const MainPanel = () => (
<div className="tab-panel">
<KadenceDashTabPanel />
</div>
);
return (
<Fragment>
<MainPanel />
<Notices />
</Fragment>
);
}
}
wp.domReady( () => {
const container = document.querySelector( '.kadence_theme_dashboard_main' );
const root = createRoot( container );
root.render(<KadenceDashboard />);
} );

View File

@@ -0,0 +1,23 @@
/**
* WordPress dependencies
*/
const { useSelect, useDispatch } = wp.data;
const { SnackbarList } = wp.components;
export default function Notices() {
const notices = useSelect(
( select ) =>
select( 'core/notices' )
.getNotices()
.filter( ( notice ) => notice.type === 'snackbar' ),
[]
);
const { removeNotice } = useDispatch( 'core/notices' );
return (
<SnackbarList
className="components-editor-notices__snackbar"
notices={ notices }
onRemove={ removeNotice }
/>
);
}

View File

@@ -0,0 +1,93 @@
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { withFilters } from '@wordpress/components';
const lockIcon = <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50">
<path d="M34 23h-2v-4c0-3.9-3.1-7-7-7s-7 3.1-7 7v4h-2v-4c0-5 4-9 9-9s9 4 9 9v4z"></path>
<path d="M33 40H17c-1.7 0-3-1.3-3-3V25c0-1.7 1.3-3 3-3h16c1.7 0 3 1.3 3 3v12c0 1.7-1.3 3-3 3zM17 24c-.6 0-1 .4-1 1v12c0 .6.4 1 1 1h16c.6 0 1-.4 1-1V25c0-.6-.4-1-1-1H17z"></path>
<circle cx="25" cy="28" r="2"></circle>
<path d="M25.5 28h-1l-1 6h3z"></path>
</svg>;
/**
* Internal block libraries
*/
import map from 'lodash/map';
export const ProModules = () => {
const proLinks = [
{
title: __( 'Header Addons', 'kadence' ),
description: __( 'Adds 19 elements to the header builder.', 'kadence' ),
setting: 'header_addon',
},
{
title: __( 'Conditional Headers', 'kadence' ),
description: __( 'Build Extra Headers to display conditionally.', 'kadence' ),
setting: 'conditional_headers',
},
{
title: __( 'Ultimate Menu', 'kadence' ),
description: __( 'Adds menu options for mega menus, highlight tags, icons and more.', 'kadence' ),
setting: 'mega_menu',
},
{
title: __( 'Header/Footer Scripts', 'kadence' ),
description: __( 'Adds Options into the customizer to add header and footer scripts', 'kadence' ),
setting: 'scripts',
},
{
title: __( 'Hooked Elements', 'kadence' ),
description: __( 'Add content anywhere into your site conditionally.', 'kadence' ),
setting: 'hooks',
},
{
title: __( 'WooCommerce Addons', 'kadence' ),
description: __( 'Adds new options into the customizer for WooCommerce stores.', 'kadence' ),
setting: 'woocommerce',
},
{
title: __( 'Infinite Scroll', 'kadence' ),
description: __( 'Adds Infinite Scroll for archives.', 'kadence' ),
setting: 'infinite_scroll',
},
{
title: __( 'Color Palette Switch (Dark Mode)', 'kadence' ),
description: __( 'Adds a color palette switch so you can create a "dark" mode for your website.', 'kadence' ),
setting: 'dark_mode',
},
{
title: __( 'Local Gravatars', 'kadence' ),
description: __( 'Loads Gravatars from your servers to improve site performance.', 'kadence' ),
setting: 'local_gravatars',
},
{
title: __( 'Archive Custom Page Title Backgrounds', 'kadence' ),
description: __( 'Allows you to assign a custom image for a taxonomy background.', 'kadence' ),
setting: 'archive_custom',
},
];
return (
<>
<h2 className="section-header">{ __( 'Do more with the Kadence Pro Addon', 'kadence' ) }</h2>
<div className="two-col-grid">
{ map( proLinks, ( link ) => {
return (
<div className="link-item locked-item">
<span className="lock-icon">{ lockIcon }</span>
<h4>{ link.title }</h4>
<p>{ link.description }</p>
<div className="link-item-foot">
<a href={ `${kadenceDashboardParams.proURL}&utm_campaign=${ link.setting }` } target="_blank">
{ __( 'Learn More', 'kadence') }
</a>
</div>
</div>
);
} ) }
</div>
</>
);
};
export default withFilters( 'kadence_theme_pro_modules' )( ProModules );

View File

@@ -0,0 +1,15 @@
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
const { Fragment } = wp.element;
export const RecommendedTab = () => {
return (
<Fragment>
<p>{ __( 'This area is for Recommended Plugins.', 'kadence' ) }</p>
</Fragment>
);
};
export default RecommendedTab;

View File

@@ -0,0 +1,32 @@
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
const { Fragment } = wp.element;
const { withFilters, TabPanel, Panel, PanelBody, PanelRow, Button } = wp.components;
export const Sidebar = () => {
return (
<Fragment>
<Panel className="community-section sidebar-section">
<PanelBody
opened={ true }
>
<h2>{ __( 'Web Creators Community', 'kadence' ) }</h2>
<p>{ __( 'Join our community of fellow kadence users creating effective websites! Share your site, ask a question and help others.', 'kadence' ) }</p>
<a href="https://www.facebook.com/groups/webcreatorcommunity" target="_blank" class="sidebar-link">{ __( 'Join our Facebook Group', 'kadence' ) }</a>
</PanelBody>
</Panel>
<Panel className="support-section sidebar-section">
<PanelBody
opened={ true }
>
<h2>{ __( 'Support', 'kadence' ) }</h2>
<p>{ __( 'Have a question, we are happy to help! Get in touch with our support team.', 'kadence' ) }</p>
<a href="https://www.kadencewp.com/free-support/" target="_blank" class="sidebar-link">{ __( 'Submit a Ticket', 'kadence' ) }</a>
</PanelBody>
</Panel>
</Fragment>
);
};
export default withFilters( 'kadence_theme_sidebar' )( Sidebar );

View File

@@ -0,0 +1,72 @@
/**
* Activate a plugin
*
* @return void
*/
function kadence_starter_activatePlugin() {
var data = new FormData();
data.append( 'action', 'kadence_install_starter' );
data.append( 'security', kadenceDashboardParams.ajax_nonce );
data.append( 'status', kadenceDashboardParams.status );
jQuery.ajax({
method: 'POST',
url: kadenceDashboardParams.ajax_url,
data: data,
contentType: false,
processData: false,
})
.done( function( response, status, stately ) {
if ( response.success ) {
location.replace( kadenceDashboardParams.starterURL );
}
})
.fail( function( error ) {
console.log( error );
});
}
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { useState, useEffect, Fragment } from '@wordpress/element';
const { withFilters, TabPanel, Panel, PanelBody, PanelRow, Button, Spinner } = wp.components;
export const StarterTab = () => {
const [ working, setWorking ] = useState( null );
const handleClick = () => {
setWorking( true );
kadence_starter_activatePlugin();
};
return (
<Fragment>
<div className="kadence-desk-starter-inner" style={{ margin: '20px auto', textAlign:'center' }}>
<h2>{ __( 'Starter Templates', 'kadence' ) }</h2>
<p>{ __( 'Create and customize professionally designed websites in minutes. Simply choose your template, choose your colors, and import. Done!', 'kadence' ) }</p>
<div className="image-container">
<img width="772" height="250" alt={ __( 'Starter Templates', 'kadence' ) } src={ kadenceDashboardParams.starterImage } />
</div>
{ kadenceDashboardParams.starterTemplates && (
<a
className="kt-action-starter kadence-desk-button"
href={ kadenceDashboardParams.starterURL }
>
{ kadenceDashboardParams.starterLabel }
</a>
) }
{ ! kadenceDashboardParams.starterTemplates && (
<Button
className="kt-action-starter kadence-desk-button"
onClick={ () => handleClick() }
>
{ kadenceDashboardParams.starterLabel }
{ working && (
<Spinner />
) }
</Button>
) }
</div>
</Fragment>
);
};
export default withFilters( 'kadence_theme_starters' )( StarterTab );