From f929763892ce9ff180a5dd95fffbb74b06515338 Mon Sep 17 00:00:00 2001 From: Sabrina Hennrich Date: Sun, 25 May 2025 21:45:54 +0200 Subject: [PATCH] dev test --- assets/styles/main.sass | 25 ++- components/Breadcrumbs.vue | 253 ++++++++++++++++----------- components/CallToActionBox.vue | 33 ++++ components/ImageComparisonSlider.vue | 4 +- components/MarqueeBanner.vue | 39 ++++- components/SettingsPanel.vue | 2 +- components/SideBarNaviSlider.vue | 67 +++++++ components/template/PageFooter.vue | 2 +- composables/useI18nPages.ts | 18 +- i18n/i18n-pages.ts | 10 ++ i18n/locales/de.json | 45 ++++- i18n/locales/en.json | 199 ++++++++++++--------- layouts/default.vue | 17 ++ pages/index.vue | 35 ++-- pages/projekt/[link].vue | 251 ++++++++++++++++++++++++++ pages/references/index.vue | 182 ++++++++++++++++++- pages/services/index.vue | 238 ++++++++++++++++++++++++- pages/webagency/index.vue | 2 +- stores/main.ts | 77 ++++---- 19 files changed, 1220 insertions(+), 279 deletions(-) create mode 100644 components/CallToActionBox.vue create mode 100644 components/SideBarNaviSlider.vue create mode 100644 pages/projekt/[link].vue diff --git a/assets/styles/main.sass b/assets/styles/main.sass index a2376a2..22d9387 100644 --- a/assets/styles/main.sass +++ b/assets/styles/main.sass @@ -110,6 +110,14 @@ body width: 80% margin: auto 10% + .container-15 + width: 70% + margin: auto 15% + + .container-20 + width: 60% + margin: auto 20% + .fade-enter-active, .fade-leave-active transition: opacity 1.2s ease @@ -155,7 +163,22 @@ body transform: translateY(200px) opacity: 0 - +/* Welle oben */ +.sectionWave.wave-top + position: absolute + left: 0 + width: 100% + z-index: 1 + transform: scaleY(1) scaleX(-1) + top: -2px +/* Welle unten */ +.sectionWave.wave-bottom + position: absolute + left: 0 + width: 100% + z-index: 1 + transform: scaleY(-1) + bottom: -2px // +++++++++++++++++ diff --git a/components/Breadcrumbs.vue b/components/Breadcrumbs.vue index 31c4611..b33ee11 100644 --- a/components/Breadcrumbs.vue +++ b/components/Breadcrumbs.vue @@ -1,118 +1,157 @@ - - - - - \ No newline at end of file + span + font-weight: bold + diff --git a/components/CallToActionBox.vue b/components/CallToActionBox.vue new file mode 100644 index 0000000..0c64158 --- /dev/null +++ b/components/CallToActionBox.vue @@ -0,0 +1,33 @@ + + + + + + \ No newline at end of file diff --git a/components/ImageComparisonSlider.vue b/components/ImageComparisonSlider.vue index 45df99e..e4238e5 100644 --- a/components/ImageComparisonSlider.vue +++ b/components/ImageComparisonSlider.vue @@ -38,7 +38,7 @@ afterImage: { type: String, required: true } }) - const sliderValue = ref(60) // Startposition in der Mitte + const sliderValue = ref(80) // Startposition in der Mitte \ No newline at end of file diff --git a/components/SideBarNaviSlider.vue b/components/SideBarNaviSlider.vue new file mode 100644 index 0000000..98c60e9 --- /dev/null +++ b/components/SideBarNaviSlider.vue @@ -0,0 +1,67 @@ + + + + + + \ No newline at end of file diff --git a/components/template/PageFooter.vue b/components/template/PageFooter.vue index 8574b59..0209666 100644 --- a/components/template/PageFooter.vue +++ b/components/template/PageFooter.vue @@ -158,7 +158,7 @@ footer position: relative width: 100vw color: white - z-index: 10 + z-index: 9 height: auto min-height: 120px margin-top: 100px diff --git a/composables/useI18nPages.ts b/composables/useI18nPages.ts index 9091a95..0c6e5b1 100644 --- a/composables/useI18nPages.ts +++ b/composables/useI18nPages.ts @@ -1,4 +1,3 @@ -// composables/useI18nPages.ts import { useI18n } from 'vue-i18n' import { i18nPages } from '@/i18n/i18n-pages' @@ -6,10 +5,23 @@ export function useI18nPages () { const { locale } = useI18n() const getRoute = (key: keyof typeof i18nPages) => { - return i18nPages[key][locale.value] + const entry = i18nPages[key] + if (!entry) return '' + + if ('paths' in entry) { + return entry.paths[locale.value] + } + + return entry[locale.value] + } + + const getProjectLink = (slug: string) => { + const path = getRoute('projekt___link') + return path.replace(':link', slug) } return { - getRoute + getRoute, + getProjectLink } } diff --git a/i18n/i18n-pages.ts b/i18n/i18n-pages.ts index 9cd506a..4ce6c6b 100644 --- a/i18n/i18n-pages.ts +++ b/i18n/i18n-pages.ts @@ -39,6 +39,16 @@ export const i18nPages = { es: '/aviso-legal', tr: '/künye' }, + 'projekt___link': { + paths: { + de: '/projekt/:link', + en: '/projekt/:link', + fr: '/projekt/:link', + it: '/projekt/:link', + es: '/projekt/:link', + tr: '/projekt/:link' + } + }, privacy: { de: '/datenschutz', en: '/privacy', diff --git a/i18n/locales/de.json b/i18n/locales/de.json index e1e5aee..28484d6 100644 --- a/i18n/locales/de.json +++ b/i18n/locales/de.json @@ -4,6 +4,7 @@ "services": "Leistungen", "contact": "Kontakt", "references": "Referenzen", + "referenceoverview": "Referenzübersicht", "imprint": "Impressum", "privacy": "Datenschutz", "privacyPolicy": "Datenschutzerklärung", @@ -130,8 +131,48 @@ "title": "Du bist Grafikdesigner oder Mediengestalter?", "button": "Hier unser Angebot für Dich" } - } - + }, + "services": { + "hero": { + "ariaLabel": "Einleitungsbereich über digitale Lösungen", + "imageAlt": "Illustration von Programmierung am Ammersee", + "headline1": "High-Performance-Webseiten", + "headline2": "mit moderner Headless-Architektur", + "headline3": "Schnell, effizient und leistungsstark!" + }, + "explain": { + "ariaLabel": "Warum unsere Webseiten mehr können als nur gut aussehen", + "headline1": "Wir entwickeln Webseiten für Mensch und Maschine", + "headline2": "Design das Menschen begeistert mit Struktur die Maschinen verstehen", + "paragraph": "Damit eine Webseite heute erfolgreich ist, muss sie beides leisten: Emotionen wecken und von Algorithmen verstanden werden. Mit klarer Struktur, sauberer Semantik und starker Performance schaffen wir die Basis für Sichtbarkeit und nachhaltiges Wachstum.", + "bullet1": "Schnelle Ladezeiten durch moderne Headless-Technologien", + "bullet2": "Optimiert für Google, Bing & KI durch saubere Semantik", + "bullet3": "Barrierefrei entwickelt, damit zugänglich für alle Nutzer", + "bullet4": "Einfach erweiterbar dank modularer Architektur", + "bullet5": "SEO-freundlich mit klarer Struktur und strukturierten Daten" + + }, + "marquee": { + "title": "Erleben Sie unsere Projekte live!" + }, + "ctaBox": { + "headline": "Sie wollen mehr Speed und Leistung für Ihr Business?", + "text": "Wir bringen Ihre Website auf das nächste Level! Schnell, zuverlässig und individuell.", + "button": "Sprechen Sie mit uns!" + } + }, + "references": { + "hero": { + "h1": "Individuelle Webseiten, die überzeugen", + "h2": "Lassen Sie sich von unseren erfolgreichen Webprojekten inspirieren!", + "p": "Jede Website, die wir entwickeln, ist einzigartig – maßgeschneidert, funktional und wirkungsvoll. Unsere Referenzen zeigen, wie wir modernes Webdesign, durchdachte Entwicklung und gute Performance verbinden, um digitale Lösungen zu schaffen, die nicht nur gut aussehen, sondern auch Ergebnisse liefern." + }, + "ctaBox": { + "headline": "Bereit für Ihr eigenes Webprojekt?", + "text": "Lassen Sie uns gemeinsam Ihre individuelle Website gestalten – perfekt abgestimmt auf Ihre Bedürfnisse und Ziele.", + "button": "Jetzt unverbindliches Angebot anfordern!" + } + } } } diff --git a/i18n/locales/en.json b/i18n/locales/en.json index 74224ef..ffecc40 100644 --- a/i18n/locales/en.json +++ b/i18n/locales/en.json @@ -9,94 +9,127 @@ "privacyPolicy": "Privacy Policy", "termsOfService": "Terms of Service", "terms": "Terms", - "faq": "FAQ", - "magazin": "Insights", + "faq": "Frequently Asked Questions", + "magazin": "Knowledge", "accessability": "Accessibility", "accessibilitySettings": "Accessibility Settings", - "changeFontSize": "Increase text size", - "greyscale": "Greyscale", - "increaseContrast": "Increase contrast", - "borderFocus": "Enable focus highlight", - "hideImages": "Hide images", - "showLinks": "Highlight links", - "infoAccessibility": "Information about the accessibility of our site", + "changeFontSize": "Increase Text Size", + "greyscale": "Grayscale", + "increaseContrast": "Increase Contrast", + "borderFocus": "Enable Focus", + "hideImages": "Hide Images", + "showLinks": "Highlight Links", + "infoAccessibility": "Information about accessibility on our site", "importantLinks": "Important Links", "contactForm": { - "yourcontact2us": "Get in touch with us!", - "ourOffice": "Our Office Address", - "yourcontactperson": "Your Contact Person", - "name": "Name", - "email": "Email", - "phone": "Phone", - "message": "Message", - "company": "Company", - "sendMessage": "Send Message", - "privacyInfotextBeforeLink": "By submitting the form, you agree to the storage of your data on our server for the purpose of contacting you.", - "privacyInfotextLinkText": "Privacy Policy", - "validation": { - "nameRequired": "Name is a required field.", - "emailOrPhoneRequired": "Please enter either an email address or a phone number.", - "invalidEmail": "Please enter a valid email address.", - "invalidPhone": "Please enter a valid phone number." - }, - "successMessage": "Your message has been sent successfully.", - "errorMessage": "There is currently a problem with the internet connection!", - "confirmation": { - "thx": "Thank you for your message!", - "info": "We will get back to you shortly...", - "salutation": "Your digimedialoop Team" - } - }, - "home": { - "heroBox": { - "h1": "Your agency for custom web design and professional web development", - "h2": "Modular websites using the latest technologies", - "h3": "Making your website fast, efficient and future-proof!" - }, - "solution": { - "title": "How your website becomes a real business tool", - "teaser": "We develop custom websites with JAMstack technology tailored to your business, serving as a powerful marketing and sales tool for your success.", - "text": "By clearly separating content and technology and using a headless content management system, we create low-maintenance, SEO-optimized solutions that are not only scalable long-term but also make work easier for your marketing team: content can be managed without technical barriers, new features integrated flexibly – without plugin chaos or interfering with the live system.", - "buttonText": "Learn more about Headless CMS" - }, - "invitation": { - "title": "Is your website ready for the future?", - "teaser": "We'll show you how to optimize your digital presence, effectively reach your target audience, and benefit long-term from our scalable, low-maintenance solutions. In a free initial consultation, you’ll learn exactly what steps are needed to turn your website into a powerful marketing tool.", - "button": "Request your free initial consultation!" - }, - "canDo": { - "title": "Start using your website’s full potential!", - "item1": { - "title": "Gain new customers and increase revenue", - "text": "Turn visitors into paying customers! With a clear strategy, compelling design and optimized user experience, your website becomes a lead machine." + "yourcontact2us": "Your contact to us!", + "ourOffice": "Our office address", + "yourcontactperson": "Your contact person", + "name": "Name", + "email": "Email", + "phone": "Phone", + "message": "Message", + "company": "Company", + "sendMessage": "Send message", + "privacyInfotextBeforeLink": "By submitting the form, you agree to the storage of your data on our server for the purpose of contacting you.", + "privacyInfotextLinkText": "Information about data protection", + "validation": { + "nameRequired": "Name is a required field.", + "emailOrPhoneRequired": "Please enter either an email address or a phone number.", + "invalidEmail": "Please enter a valid email address.", + "invalidPhone": "Please enter a valid phone number." }, - "item2": { - "title": "Retain customers and members", - "text": "Strengthen your customer relationships! With valuable content, exclusive offers and interactive features, your target group remains active and engaged." - }, - "item3": { - "title": "Attract and inspire new employees", - "text": "Find the right talent! An authentic career page with clear benefits makes your company irresistible to applicants." - }, - "item4": { - "title": "Reduce administrative effort", - "text": "Fewer inquiries – more efficiency! With clear information and digital processes on your website, you save time and costs while easing the workload for your team." + "successMessage": "Your message has been sent successfully.", + "errorMessage": "Unfortunately, there is currently an error with the internet connection!", + "confirmation": { + "thx": "Thank you for your message!", + "info": "We will get back to you promptly...", + "salutation": "Your digimedialoop team" + } + }, + "faqBox": { + "questions": "Questions?", + "faqsDefault": "Frequently Asked Questions (FAQs)", + "btnDefault": "Feel free to contact us!" + }, + "pages": { + "home": { + "heroBox": { + "h1": "Your agency for individual web design and professional web development", + "h2": "Modular websites with the latest technologies", + "h3": "Highest performance – fast, efficient, and future-proof!" + }, + "solution": { + "title": "Performance, AI Compatibility & Accessibility", + "teaser": "We develop tailor-made websites based on modern JAMstack technology, perfectly tailored to your requirements.", + "text": "By clearly separating content and technology, using a headless content management system like Strapi, maintenance-friendly, SEO-optimized solutions are created that are not only scalable in the long term but also make work easier for your team. Content can be maintained without technical hurdles, and new features integrated flexibly – all without plugin chaos or interfering with the live system. Thanks to clean semantic structure, our solutions are also optimally prepared for AI-supported search systems and allow easy integration into AI-powered operator workflows.", + "buttonText": "Learn more about Headless CMS" + }, + "invitation": { + "title": "Is your website ready for the future?", + "teaser": "We show you how to optimize your digital presence, effectively reach your target audience, and benefit long-term from our scalable, maintenance-friendly solutions. During a free initial consultation, you will learn exactly which steps are necessary to transform your website into a powerful marketing tool.", + "button": "Request free initial consultation!" + }, + "canDo": { + "title": "You too can fully leverage your website’s potential in the future!", + "item1": { + "title": "Gain new customers and increase revenue", + "text": "Turn visitors into paying customers! With a clear strategy, convincing design, and optimized user guidance, your website becomes a lead machine." + }, + "item2": { + "title": "Retain customers and members", + "text": "Strengthen relationships with your customers! With valuable content, exclusive offers, and interactive features, your audience stays active and engaged." + }, + "item3": { + "title": "Find and inspire employees", + "text": "Attract the right talents! An authentic career page with clear benefits makes your company irresistible to applicants." + }, + "item4": { + "title": "Reduce administrative effort", + "text": "Fewer inquiries – more efficiency! Clear information and digital processes on your website save time, costs, and relieve your team." + } + }, + "compBox": { + "title": "\"Design is the art of combining function and aesthetics\"", + "subtitle": "With this claim, we start the relaunch process for our clients.", + "text": "We place special value on a clean design that corresponds to users’ mental models – so visitors always find exactly what they are looking for, where they expect it." + }, + "finalCall": { + "title": "Together, we take your business to the next level!", + "button": "Contact us!" + }, + "marqueeBanner": { + "title": "These companies trust us" + }, + "faqArea": { + "headline": "Here you will find answers to frequently asked questions (FAQs) about website creation with digimedialoop" + } + }, + "webagency": { + "hero": { + "title": "Your web agency for strategic web development and functional web design in Herrsching am Ammersee", + "subtitle": "We develop websites that turn visitors into customers!", + "text1": "We stand for professional, innovative, and strategic web solutions and combine technical know-how with a deep understanding of digital communication to successfully position companies online.", + "text2": "Our approach is always individual: Every project is realized with care, foresight, and the latest technologies. We rely on close cooperation and tailor-made solutions that fit our clients. We accompany companies from various industries – from small businesses to larger firms – on their way to a successful online presence.", + "text3": "Let us optimize your digital presence together!", + "button": "Your contact to us!" + }, + "team": { + "title": "Your contact person at digimedialoop", + "name": "Sabrina Hennrich", + "position": "Consulting | Concept | Design | Development", + "text1": "With over 20 years of experience in web design, she is still a web developer out of pure passion!", + "text2": "After graduating as a business economist, she worked many years in marketing before deepening her knowledge with a psychology degree.", + "text3": "This combination of business know-how, strategic marketing experience, and psychological understanding enables her to develop digital solutions that are not only aesthetically appealing but also target-effective and economically well thought-out.", + "text4": "Additionally, since 2019 she is also a Certified Expert in User Experience & Usability, giving her profound knowledge in user-centered design and optimal usability.", + "quote": "Openness, transparency, and fairness are extremely important to me when working with my clients and partners. I only recommend what makes sense to me and fits my clients. For this, I gladly take the time for a thorough analysis of my clients’ needs or those of their target group.", + "button": "Feel free to contact me!" + }, + "grafiker": { + "supheadline": "digimedialoop for creatives", + "title": "Are you a graphic designer or media designer?", + "button": "Here is our offer for you" + } } - }, - "compBox": { - "title": "\"Design is the art of uniting function and aesthetics\"", - "subtitle": "This is our approach when starting a client’s relaunch process.", - "text": "We place great emphasis on a clean design that aligns with users’ mental models – so visitors always find exactly what they’re looking for, right where they expect it." - }, - "finalCall": { - "title": "Together, we’ll take your business to the next level!", - "button": "Contact us!" - }, - "marqueeBanner": { - "title": "These companies trust us" - }, - "faqArea": { - "headline": "Here you’ll find answers to frequently asked questions (FAQs) about website creation with digimedialoop" - } } } diff --git a/layouts/default.vue b/layouts/default.vue index 6b397e9..7b131da 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -158,6 +158,23 @@ main border: none padding: .4rem .8rem margin: 0 0 1rem 0 + + .check + list-style: none + padding: .2rem 1rem + margin: 0 + + li + position: relative + padding-left: 1.5em + margin: .8em 0 + + &::before + content: "\2713" + position: absolute + left: 0 + color: $primaryColor + section margin-bottom: 5vh position: relative diff --git a/pages/index.vue b/pages/index.vue index 95c65db..a93a3e6 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -1,6 +1,6 @@