Compare commits
5 Commits
5ca9e98106
...
2fcff77a0d
| Author | SHA1 | Date | |
|---|---|---|---|
| 2fcff77a0d | |||
| 916b767b35 | |||
| 08d30009a3 | |||
| dcdae27123 | |||
| 827e5ee85c |
@@ -13,6 +13,7 @@ TYPO3:
|
||||
-
|
||||
renderingOptions:
|
||||
formNavigation:
|
||||
navigationClassAttribute: 'form-navigation text-right'
|
||||
btnNextClassAttribute: 'btn btn-primary'
|
||||
btnPreviousClassAttribute: 'btn btn-outline btn-primary'
|
||||
btnSubmitClassAttribute: 'btn btn-primary'
|
||||
@@ -44,7 +45,7 @@ TYPO3:
|
||||
-
|
||||
properties:
|
||||
containerClassAttribute: 'form-control form-element-checkbox mb-4'
|
||||
elementClassAttribute: 'checkbox'
|
||||
elementClassAttribute: 'checkbox border border-primary'
|
||||
labelTextClassAttribute: 'label-text'
|
||||
labelClassAttribute: 'label cursor-pointer justify-start gap-2'
|
||||
ContentElement:
|
||||
@@ -147,7 +148,7 @@ TYPO3:
|
||||
properties:
|
||||
fieldsetClassAttribute: 'mb-4 [&>legend]:label [&>legend]:label-text [&>legend]:justify-start'
|
||||
containerClassAttribute: 'form-control form-element-radio'
|
||||
elementClassAttribute: 'radio'
|
||||
elementClassAttribute: 'radio border border-primary'
|
||||
labelTextClassAttribute: 'label-text'
|
||||
labelClassAttribute: 'label cursor-pointer justify-start gap-2'
|
||||
Telephone:
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
/* CSS for header content element */
|
||||
@@ -1,10 +0,0 @@
|
||||
name: cloonar/header
|
||||
typeName: cloonar_header
|
||||
group: default
|
||||
prefixFields: true
|
||||
prefixType: full
|
||||
label: LLL:EXT:base/ContentBlocks/ContentElements/header/language/labels.xlf:header.title
|
||||
description: LLL:EXT:base/ContentBlocks/ContentElements/header/language/labels.xlf:header.description
|
||||
fields:
|
||||
- identifier: header
|
||||
useExistingField: true
|
||||
@@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages">
|
||||
<body>
|
||||
<trans-unit id="title">
|
||||
<source>Header</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="description">
|
||||
<source>A simple content element that displays a header as an H1.</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -1,15 +0,0 @@
|
||||
<html
|
||||
xmlns:be="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
|
||||
data-namespace-typo3-fluid="true"
|
||||
>
|
||||
<f:layout name="Preview"/>
|
||||
<f:section name="Header">
|
||||
<be:link.editRecord uid="{data.uid}" table="{data.mainType}">
|
||||
<f:if condition="{data.header}">
|
||||
<f:then><strong>{data.header}</strong></f:then>
|
||||
</f:if>
|
||||
</be:link.editRecord>
|
||||
</f:section>
|
||||
<f:section name="Content">
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -1,6 +0,0 @@
|
||||
<f:layout name="Default" />
|
||||
<f:section name="Main">
|
||||
<h1 class="font-hajime text-primary font-normal leading-none text-center text-5xl md:text-7xl">
|
||||
<span>{data.header}</span>
|
||||
</h1>
|
||||
</f:section>
|
||||
@@ -1,10 +0,0 @@
|
||||
name: cloonar/stats
|
||||
typeName: cloonar_stats
|
||||
group: default
|
||||
prefixFields: true
|
||||
prefixType: full
|
||||
fields:
|
||||
- identifier: bodytext
|
||||
type: Textarea
|
||||
enableRichtext: true
|
||||
useExistingField: true
|
||||
@@ -1,14 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<file datatype="plaintext" original="labels.xlf" source-language="en" product-name="cloonar/stats">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="title">
|
||||
<source>Statistics Block</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="description">
|
||||
<source>A responsive statistics content block with four editable columns.</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -1,13 +0,0 @@
|
||||
<html
|
||||
xmlns:be="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
|
||||
data-namespace-typo3-fluid="true"
|
||||
>
|
||||
<f:layout name="Preview"/>
|
||||
|
||||
<f:section name="Header">
|
||||
</f:section>
|
||||
|
||||
<f:section name="Content">
|
||||
</f:section>
|
||||
|
||||
</html>
|
||||
@@ -1,14 +0,0 @@
|
||||
<f:layout name="Default" />
|
||||
|
||||
<f:section name="Header" />
|
||||
|
||||
<f:section name="Main">
|
||||
<div class="relative z-10 bg-white p-4 md:py-12 md:px-4 max-w-6xl mx-auto grid grid-cols-2 md:grid-cols-4 gap-4 md:gap-8">
|
||||
<f:format.html>
|
||||
{data.bodytext -> f:format.raw() -> cb:processRichText(styles: [
|
||||
'p=text-center uppercase text-primary',
|
||||
'span.big-number=block text-6xl font-hajime normal-case'
|
||||
])}
|
||||
</f:format.html>
|
||||
</div>
|
||||
</f:section>
|
||||
@@ -16,14 +16,14 @@
|
||||
absolute top-full left-0 right-0 flex-col max-h-0 overflow-hidden bg-white transition-max-height duration-400 ease-in-out group-[.open]:max-h-[500px]" id="navLinks">
|
||||
<f:for each="{mainnavigation}" as="mainnavigationItem">
|
||||
<li class="nav-item lg:mx-4 lg:my-0 lg:p-0 lg:border-0 mx-0 my-0 p-4 border-t border-black/10 first:border-t-0 {f:if(condition: mainnavigationItem.active, then:' active')}{f:if(condition: mainnavigationItem.children, then:' has-submenu')}">
|
||||
<a href="{mainnavigationItem.link}" target="{mainnavigationItem.target}" title="{mainnavigationItem.title}" class="nav-link block lg:inline-block no-underline text-primary font-bold uppercase tracking-[0.05em] text-sm transition-colors duration-300 hover:text-brand">
|
||||
<a href="{mainnavigationItem.link}" target="{mainnavigationItem.target}" title="{mainnavigationItem.title}" class="nav-link block lg:inline-block no-underline text-primary font-bold uppercase tracking-[0.05em] text-sm transition-colors duration-300 hover:text-primary">
|
||||
{mainnavigationItem.title}
|
||||
</a>
|
||||
<f:if condition="{mainnavigationItem.children}">
|
||||
<ul class="sub-menu hidden lg:absolute lg:block lg:opacity-0 lg:invisible lg:group-hover:opacity-100 lg:group-hover:visible lg:bg-white lg:shadow-md lg:mt-2 lg:py-2 lg:rounded lg:border lg:border-gray-200">
|
||||
<f:for each="{mainnavigationItem.children}" as="child">
|
||||
<li class="{f:if(condition: child.active, then:'active')} lg:px-4 lg:py-2 hover:bg-gray-100">
|
||||
<a class="nav-link block text-sm text-primary hover:text-brand" href="{child.link}" target="{child.target}" title="{child.title}">
|
||||
<a class="nav-link block text-sm text-primary hover:text-primary" href="{child.link}" target="{child.target}" title="{child.title}">
|
||||
{child.title}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 891 B |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@@ -1,3 +1,17 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" width="137" height="133"><svg id="SvgjsSvg1005" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 137 133"><defs><style>.cls-1{fill:#f4ad07;}.cls-1,.cls-2{stroke-width:0px;}.cls-2{fill:#233600;}</style></defs><circle class="cls-1" cx="68" cy="66" r="60"></circle><path class="cls-2" d="m98.01,102.96c-.33.17-.65.38-.99.52-.33.13-.68.24-1.03.29-.44.06-2,.22-2.35.3-.17.04-.34.1-.52.12-.96.15-1.92.28-2.88.42-.14.02-2.98.14-3.3.17-.96.08-1.92.18-2.88.22-1.48.06-2.97.08-4.46.1-.44,0-3.01.04-3.84.21-.66.14-1.34.09-2.01.1-1.51.02-10,.11-10.29.08-.73-.06-1.46-.08-2.18-.2,0,0-7.46-.25-7.76-.27-.29-.02-.58-.03-.88-.02h-.01s-.07,0-.11,0c-1.02.04-4.35.03-4.39-.03-.59-.04-1.18-.12-1.76-.26-.55-.13-1.12-.21-1.67-.32-.05-.27-.13-.54-.14-.82-.06-1.75-.19-3.49-.14-5.24.1-3.73-.1-7.47.18-11.2.23-3.05.19-6.11.28-9.17.04-1.41.12-2.81.13-4.22.05-4.66-.24-9.31-.3-13.97-.04-2.77.04-5.54.06-8.3,0-.19.03-.39.02-.58-.1-2.67.24-5.32.24-7.99,0-2.66.07-5.33.11-7.99.01-.87.04-1.74.03-2.61-.04-2.37-.2-4.73-.43-7.08-.05-.48-.05-.97-.09-1.45-.05-.73.02-1.41.33-2.02.19-.37.4-.59.47-.66.31-.31.62-.45.77-.52,1.86-.84,4.8-.72,4.8-.72.4.02,1.08.08,2.44.21.72.07,1.45.18,2.17.22,1.09.06,7.85.87,8.23.94.3.18.75.51,1.08,1.06.23.38.31.82.51,1.65.14.56.25,1.14.3,1.71.07.73.22,3.33.3,3.9.04.29.09.57.12.86.14,1.59.28,3.19.42,4.79.02.24.14,4.96.17,5.49.08,1.6.18,3.2.22,4.8.06,2.47.05,8.87.06,9.6,0,1.41.35,6.44.36,7.55.02,2.51.11,16.64.08,17.12-.06,1.09-.08,2.19-.17,3.28,2.72.03,16.7.02,18.3.01,1.6,0,3.2.07,4.8.11.52.01,1.05.04,1.57.03,1.43-.04,7.11.45,7.3.51.39.13.41.43.46.8.11.72.07,1.41-.07,2.12-.15.79-.16,1.61-.21,2.41-.05.81-.08,1.63-.12,2.44-.04.72-.11,1.45-.13,2.17-.04,1.08-.04,2.17-.07,3.26-.02.98-.78,5.87-1.13,6.05Z"></path></svg><style>@media (prefers-color-scheme: light) { :root { filter: none; } }
|
||||
@media (prefers-color-scheme: dark) { :root { filter: none; } }
|
||||
</style></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" width="1000" height="1000"><style>
|
||||
#light-icon {
|
||||
display: inline;
|
||||
}
|
||||
#dark-icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
#light-icon {
|
||||
display: none;
|
||||
}
|
||||
#dark-icon {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
</style><g id="light-icon"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" width="1000" height="1000"><g><g transform="matrix(0.9943817431511958,0,0,0.9943817431511958,0,0)"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" width="1005.65" height="1005.65"><svg id="Ebene_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1005.65 1005.65"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:#0c1e8b;}</style></defs><g id="Ebene_1-2"><rect class="cls-2" width="1005.65" height="1005.65"></rect><path class="cls-1" d="M908.49,680.85c-1.45,4.86-5.12,5.8-9.63,5.8-70.62-.04-141.23-.03-211.85-.03-11.53,0-23.07,0-34.6-.09-4.42-.04-8.41,1.05-12.21,3.31-38.79,23.05-77.61,46.07-116.43,69.08-10.36,6.14-20.77,12.17-31.16,18.26-.6.35-1.12.86-1.68,1.29h-.44c-.27-14.92-.66-29.84-.78-44.77-.11-14.12.06-28.24.11-42.36,0-.88,0-1.76,0-2.95H108.4c-.59,0-1.18,0-1.77,0-7.03,0-9.29-2.26-9.29-9.3,0-87.11,0-174.21,0-261.32,0-27.88,0-55.75,0-83.63,0-1.18-.02-2.38.15-3.54.52-3.69,2.26-5.41,5.98-6.1.34-.06,532.28-.4,797.93-.4,3.63.63,6.1,2.57,7.1,6.21v350.53ZM900.3,332.48H105.42v347.92h3.14c126.61,0,253.21,0,379.82,0,6.69,0,9.44,2.73,9.42,9.43-.02,7.24-.13,14.49-.14,21.73-.02,16.86,0,33.72,0,50.58v2.67c1.02-.55,1.72-.9,2.4-1.3,17.5-10.31,35.02-20.58,52.5-30.94,27.9-16.53,55.77-33.11,83.63-49.7,4.89-2.91,10.1-4.38,15.8-4.34,11.83.08,23.66.09,35.49.09,70.11,0,140.21,0,210.32,0h2.5v-346.15Z"></path></g></svg></svg></g></g></svg></g><g id="dark-icon"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" width="1000" height="1000"><g clip-path="url(#SvgjsClipPath1004)"><rect width="1000" height="1000" fill="#0c1e8b"></rect><g transform="matrix(0.696067220205837,0,0,0.696067220205837,150,150)"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" width="1005.65" height="1005.65"><svg id="Ebene_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1005.65 1005.65"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:#0c1e8b;}</style><clipPath id="SvgjsClipPath1004"><rect width="1000" height="1000" x="0" y="0" rx="350" ry="350"></rect></clipPath></defs><g id="Ebene_1-2"><rect class="cls-2" width="1005.65" height="1005.65"></rect><path class="cls-1" d="M908.49,680.85c-1.45,4.86-5.12,5.8-9.63,5.8-70.62-.04-141.23-.03-211.85-.03-11.53,0-23.07,0-34.6-.09-4.42-.04-8.41,1.05-12.21,3.31-38.79,23.05-77.61,46.07-116.43,69.08-10.36,6.14-20.77,12.17-31.16,18.26-.6.35-1.12.86-1.68,1.29h-.44c-.27-14.92-.66-29.84-.78-44.77-.11-14.12.06-28.24.11-42.36,0-.88,0-1.76,0-2.95H108.4c-.59,0-1.18,0-1.77,0-7.03,0-9.29-2.26-9.29-9.3,0-87.11,0-174.21,0-261.32,0-27.88,0-55.75,0-83.63,0-1.18-.02-2.38.15-3.54.52-3.69,2.26-5.41,5.98-6.1.34-.06,532.28-.4,797.93-.4,3.63.63,6.1,2.57,7.1,6.21v350.53ZM900.3,332.48H105.42v347.92h3.14c126.61,0,253.21,0,379.82,0,6.69,0,9.44,2.73,9.42,9.43-.02,7.24-.13,14.49-.14,21.73-.02,16.86,0,33.72,0,50.58v2.67c1.02-.55,1.72-.9,2.4-1.3,17.5-10.31,35.02-20.58,52.5-30.94,27.9-16.53,55.77-33.11,83.63-49.7,4.89-2.91,10.1-4.38,15.8-4.34,11.83.08,23.66.09,35.49.09,70.11,0,140.21,0,210.32,0h2.5v-346.15Z"></path></g></svg></svg></g></g></svg></g></svg>
|
||||
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 3.7 KiB |
21
packages/base/Resources/Public/Favicons/site.webmanifest
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "MyWebSite",
|
||||
"short_name": "MySite",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/web-app-manifest-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/web-app-manifest-512x512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
}
|
||||
],
|
||||
"theme_color": "#ffffff",
|
||||
"background_color": "#ffffff",
|
||||
"display": "standalone"
|
||||
}
|
||||
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 9.3 KiB |
@@ -1,5 +1,6 @@
|
||||
:root {
|
||||
--color-primary: #0B197D;
|
||||
--color-primary-dark: #08145C;
|
||||
}
|
||||
|
||||
body {
|
||||
|
||||
@@ -1,16 +1,4 @@
|
||||
.btn {
|
||||
background-color: var(--bs-primary);
|
||||
color: var(--bs-yellow);
|
||||
font-family: 'Inter', sans-serif;
|
||||
font-weight: 700;
|
||||
border-radius: .5rem;
|
||||
padding: 0.75rem 1.5rem;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s;
|
||||
|
||||
&:hover {
|
||||
background-color: var(--bs-primary-dark);
|
||||
color: var(--bs-yellow);
|
||||
}
|
||||
@apply bg-primary font-bold text-white py-1 px-12 cursor-pointer transition-colors duration-300;
|
||||
@apply hover:bg-primary-dark;
|
||||
}
|
||||
|
||||
3
packages/base/Resources/Public/Scss/components/form.scss
Normal file
@@ -0,0 +1,3 @@
|
||||
.frame-type-form_formframework {
|
||||
@apply py-16;
|
||||
}
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
// Initial link colors and background for transparent header (desktop)
|
||||
#mainNav .nav-link {
|
||||
@apply bg-white text-primary hover:text-brand px-3 py-1 rounded; // Add bg-white, padding, and rounded corners
|
||||
@apply bg-white text-primary hover:text-primary px-3 py-1 rounded; // Add bg-white, padding, and rounded corners
|
||||
}
|
||||
// Ensure mobile toggle icon also uses primary color initially on desktop if visible (though usually hidden)
|
||||
#mainNav .nav-toggle-icon,
|
||||
@@ -79,4 +79,4 @@ body:not(.backendlayout-home_page) {
|
||||
@apply pt-0; // Reset padding if needed
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,5 +15,6 @@
|
||||
/* @import "components/news_detail"; */
|
||||
/* @import 'components/footer'; */
|
||||
@import 'components/buttons';
|
||||
@import 'components/form';
|
||||
@import 'layouts/home-page';
|
||||
|
||||
|
||||
@@ -39,9 +39,7 @@ const config = {
|
||||
// },
|
||||
colors: {
|
||||
primary: 'var(--color-primary)',
|
||||
yellow: '#F5AE07',
|
||||
'light-green': '#F4F6EC',
|
||||
brand: '#6B8E23', // Added brand color for hover states from SCSS
|
||||
'primary-dark': 'var(--color-primary-dark)',
|
||||
},
|
||||
backgroundImage: {
|
||||
'hero-gradient':
|
||||
|
||||