feat: change to other sitepakage
All checks were successful
Build / build (push) Successful in 2m27s
Build / deploy-stage (push) Successful in 2m33s
Build / switch-stage (push) Successful in 1m58s

This commit is contained in:
2024-12-12 12:31:41 +01:00
parent 948513cc41
commit 2bac342a5e
147 changed files with 1060 additions and 28057 deletions

View File

@@ -0,0 +1,2 @@
Order deny,allow
Deny from all

View File

@@ -0,0 +1,8 @@
<div class="frame frame-type-{data.CType}">
<div class="container">
<div class="header">
<h2>{data.header}</h2>
</div>
<f:render section="Main" optional="true" />
</div>
</div>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
<file source-language="en" datatype="plaintext" original="messages" date="2024-12-11UTC16:10:160">
<header>
<authorName>Test</authorName>
<authorEmail>test@test.at</authorEmail>
</header>
<body>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
<file source-language="en" datatype="plaintext" original="messages" date="2024-12-11UTC16:10:160">
<header>
<authorName>Test</authorName>
<authorEmail>test@test.at</authorEmail>
</header>
<body>
<trans-unit id="backend_layout.default">
<source>Default</source>
</trans-unit>
<trans-unit id="backend_layout.column.stage">
<source>Stage</source>
</trans-unit>
<trans-unit id="backend_layout.column.normal">
<source>Normal</source>
</trans-unit>
<trans-unit id="backend_layout.column.right">
<source>Right</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
<file source-language="en" datatype="plaintext" original="messages" date="2024-12-11UTC16:10:160">
<header>
<authorName>Test</authorName>
<authorEmail>test@test.at</authorEmail>
</header>
<body>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,21 @@
<header>
<!-- Main Navigation -->
<f:render partial="Navigation/Main" arguments="{_all}" />
</header>
<main>
<!-- Main Section -->
<f:render section="Main" />
</main>
<footer>
<f:cObject
typoscriptObjectPath="lib.dynamicContentSlide"
data="{pageUid: '{data.uid}', colPos: '90'}"
/>
<f:cObject
typoscriptObjectPath="lib.dynamicContentSlide"
data="{pageUid: '{data.uid}', colPos: '91'}"
/>
<p>&copy; {f:format.date(date: 'now', format: 'Y')} Your Company</p>
</footer>

View File

@@ -0,0 +1,6 @@
<f:layout name="Default" />
<f:section name="Main">
<f:render partial="Content" arguments="{records: content.main.records}"/>
</f:section>

View File

@@ -0,0 +1,7 @@
<f:for each="{records}" as="record">
<f:cObject
typoscriptObjectPath="{record.mainType}"
data="{record}"
table="{record.mainType}"
/>
</f:for>

View File

@@ -0,0 +1,29 @@
<nav class="main-nav" id="mainNav">
<div class="container">
<a href="/" class="nav-logo">Brand Logo</a>
<button class="nav-toggle" id="navToggle" aria-label="Toggle Menu">
<span class="nav-toggle-icon"></span>
</button>
<ul class="nav-links" id="navLinks">
<f:for each="{mainnavigation}" as="mainnavigationItem">
<li class="nav-item{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}">
{mainnavigationItem.title}
</a>
<f:if condition="{mainnavigationItem.children}">
<ul class="sub-menu">
<f:for each="{mainnavigationItem.children}" as="child">
<li class="{f:if(condition: child.active, then:'active')}">
<a class="nav-link" href="{child.link}" target="{child.target}" title="{child.title}">
{child.title}
</a>
</li>
</f:for>
</ul>
</f:if>
</li>
</f:for>
</ul>
</div>
</nav>

View File

@@ -0,0 +1,3 @@
/**
* Created by get.typo3.org/sitepackage
*/

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="83.098" height="84.172" viewBox="43.201 42.122 83.098 84.172">
<path fill="#FF8700" d="M106.074 100.128c-1.247.368-2.242.506-3.549.506-10.689 0-26.389-37.359-26.389-49.793 0-4.577 1.083-6.104 2.613-7.415-13.084 1.527-28.784 6.329-33.806 12.433-1.085 1.529-1.743 3.926-1.743 6.98 0 19.41 20.718 63.455 35.332 63.455 6.765.001 18.164-11.112 27.542-26.166M99.25 42.122c13.52 0 27.049 2.18 27.049 9.812 0 15.483-9.819 34.246-14.832 34.246-8.942 0-20.065-24.867-20.065-37.301.001-5.67 2.181-6.757 7.848-6.757"/>
</svg>

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

View File

@@ -0,0 +1 @@
console.log('WE LOVE TYPO3');

View File

@@ -0,0 +1,41 @@
document.addEventListener('DOMContentLoaded', function () {
const nav = document.getElementById('mainNav');
const toggle = document.getElementById('navToggle');
const navLinks = document.getElementById('navLinks');
let lastScrollTop = 0;
// Toggle menu on mobile
toggle.addEventListener('click', function () {
nav.classList.toggle('open');
toggle.classList.toggle('active');
});
// Sticky on scroll
window.addEventListener('scroll', function () {
const currentScroll = window.pageYOffset || document.documentElement.scrollTop;
if (currentScroll > 0) {
nav.classList.add('sticky');
} else {
nav.classList.remove('sticky');
}
lastScrollTop = currentScroll <= 0 ? 0 : currentScroll;
});
// Optionally handle dropdowns on mobile (if desired)
// For example:
const submenuParents = document.querySelectorAll('.nav-item.has-submenu');
submenuParents.forEach(parent => {
parent.addEventListener('click', (e) => {
if (window.innerWidth <= 992) {
e.preventDefault();
const subMenu = parent.querySelector('.sub-menu');
if (subMenu) {
const isOpen = subMenu.style.display === 'block';
// Close all open submenus first (optional)
document.querySelectorAll('.sub-menu').forEach(sm => sm.style.display = 'none');
subMenu.style.display = isOpen ? 'none' : 'block';
}
}
});
});
});

View File

@@ -0,0 +1,10 @@
// Example mixin for transitions
@mixin transition($property: all, $duration: 0.3s, $timing: ease-in-out) {
transition: $property $duration $timing;
}
@mixin respond($breakpoint) {
@media (min-width: $breakpoint) {
@content;
}
}

View File

@@ -0,0 +1,11 @@
// Example variables, extend as needed
$primary-color: #4b4b4b;
$secondary-color: #ffffff;
$brand-color: #6B8E23;
$font-stack: 'Helvetica', sans-serif;
// Breakpoints
$breakpoint-sm: 576px;
$breakpoint-md: 768px;
$breakpoint-lg: 992px;
$breakpoint-xl: 1200px;

View File

@@ -0,0 +1,20 @@
.container {
margin: auto;
padding: 3rem 1rem;
@include respond($breakpoint-sm) {
max-width: 540px;
}
@include respond($breakpoint-md) {
max-width: 720px;
}
@include respond($breakpoint-lg) {
max-width: 960px;
}
@include respond($breakpoint-xl) {
max-width: 1140px;
}
}

View File

@@ -0,0 +1,5 @@
body {
font-family: $font-stack;
color: $primary-color;
line-height: 1.5;
}

View File

@@ -0,0 +1,6 @@
// A simple CSS reset, adapt as needed
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

View File

@@ -0,0 +1,3 @@
@import 'reset';
@import 'global';
@import 'container';

View File

@@ -0,0 +1,19 @@
.content-element {
margin: 2rem auto;
padding: 2rem;
background-color: #f5f5f5; // default background
// Apply responsive widths at breakpoints using the respond mixin
&--blue {
background-color: #cceeff;
}
&--gray {
background-color: #eeeeee;
}
&--image {
background: url('EXT:my_sitepackage/Resources/Public/Images/background-image.jpg') no-repeat center/cover;
}
}

View File

@@ -0,0 +1,142 @@
.main-nav {
width: 100%;
background: $secondary-color url('EXT:my_sitepackage/Resources/Public/Images/linen-texture.png') repeat;
position: relative;
z-index: 1000;
&.sticky {
position: fixed;
top: 0;
left: 0;
right: 0;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.container {
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 auto;
padding: 1rem;
}
.nav-logo {
img {
display: block;
max-height: 50px;
height: auto;
width: auto;
}
}
.nav-toggle {
background: none;
border: none;
cursor: pointer;
display: none; // hidden by default on desktop
position: relative;
width: 30px;
height: 30px;
.nav-toggle-icon {
width: 100%;
height: 2px;
background: $primary-color;
display: block;
position: relative;
@include transition(all, 0.3s);
&::before,
&::after {
content: '';
width: 100%;
height: 2px;
background: $primary-color;
position: absolute;
left: 0;
@include transition(all, 0.3s);
}
&::before {
top: -8px;
}
&::after {
top: 8px;
}
}
&.active .nav-toggle-icon {
background: transparent;
&::before {
transform: rotate(45deg) translate(5px, 5px);
}
&::after {
transform: rotate(-45deg) translate(5px, -5px);
}
}
}
.nav-links {
display: flex;
list-style: none;
.nav-item {
margin: 0 1rem;
.nav-link {
text-decoration: none;
color: $primary-color;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
font-size: 1rem;
@include transition(color);
&:hover {
color: $brand-color;
}
}
}
}
// Responsive: show hamburger and collapse menu on smaller screens
@media (max-width: $breakpoint-lg) {
.nav-toggle {
display: block;
}
// Hide links by default on mobile and show only when toggled
.nav-links {
position: absolute;
top: 100%;
left: 0;
right: 0;
flex-direction: column;
background: $secondary-color url('EXT:my_sitepackage/Resources/Public/Images/linen-texture.png') repeat;
max-height: 0;
overflow: hidden;
@include transition(max-height, 0.4s);
.nav-item {
margin: 0;
padding: 1rem;
border-top: 1px solid rgba(0,0,0,0.1);
&:first-child {
border-top: none;
}
.nav-link {
display: block;
}
}
}
&.open .nav-links {
max-height: 500px; // Adjust to fit all items
}
}
}

View File

@@ -0,0 +1,4 @@
@import 'abstracts/variables';
@import 'abstracts/mixins';
@import 'base/base';
@import 'components/navigation';