diff --git a/apps/frontend-portal/public/assets/images/screenshots/audit-dark_framed.png b/apps/frontend-portal/public/assets/images/screenshots/audit-dark_framed.png new file mode 100644 index 00000000..fd405c01 Binary files /dev/null and b/apps/frontend-portal/public/assets/images/screenshots/audit-dark_framed.png differ diff --git a/apps/frontend-portal/public/assets/images/screenshots/editor-dark_framed.png b/apps/frontend-portal/public/assets/images/screenshots/editor-dark_framed.png new file mode 100644 index 00000000..119ec230 Binary files /dev/null and b/apps/frontend-portal/public/assets/images/screenshots/editor-dark_framed.png differ diff --git a/apps/frontend-portal/public/assets/images/screenshots/spaces-dark_framed.png b/apps/frontend-portal/public/assets/images/screenshots/spaces-dark_framed.png new file mode 100644 index 00000000..f440c3da Binary files /dev/null and b/apps/frontend-portal/public/assets/images/screenshots/spaces-dark_framed.png differ diff --git a/apps/frontend-portal/public/assets/images/screenshots/tasks-dark_framed.png b/apps/frontend-portal/public/assets/images/screenshots/tasks-dark_framed.png new file mode 100644 index 00000000..99f5789b Binary files /dev/null and b/apps/frontend-portal/public/assets/images/screenshots/tasks-dark_framed.png differ diff --git a/apps/frontend-portal/src/i18n/messages.de.xlf b/apps/frontend-portal/src/i18n/messages.de.xlf index 0ce78fa2..b5496de8 100644 --- a/apps/frontend-portal/src/i18n/messages.de.xlf +++ b/apps/frontend-portal/src/i18n/messages.de.xlf @@ -803,16 +803,16 @@ Agenstra Desktop bietet Entwicklern ein sicheres lokales Kontrollzentrum, um sich mit Agenstra zu verbinden, Agenten zu inspizieren und mit Kontext in ihrem täglichen Workflow zu arbeiten. - Centralized Control For Distributed AI Agents - Zentrale Kontrolle für verteilte KI-Agenten + Centralized control for AI agents in your software delivery pipeline + Zentrale Kontrolle für KI-Agenten in Ihrer Softwareauslieferungskette - Modern teams don't struggle to create AI agents. They struggle to control them. Agenstra gives engineering and platform teams a single place to design, deploy, and govern AI agents across tools, clouds, and environments. - Moderne Teams haben keine Schwierigkeiten, KI-Agenten zu erstellen. Sie haben Schwierigkeiten, sie zu kontrollieren. Agenstra bietet Engineering- und Plattform-Teams einen einzigen Ort, um KI-Agenten über Tools, Clouds und Umgebungen hinweg zu entwerfen, bereitzustellen und zu steuern. + Agents are wired into editors, pipelines, and internal tools as part of how teams ship. Agenstra gives engineering and platform teams one place to define policy, observe behavior, and govern how agents access code, systems, and environments from development through production. + Agenten sind in IDEs, Pipelines und internen Tools eingebunden und längst ein fester Teil der Softwareentwicklung geworden. Agenstra bietet Engineering- und Plattform-Teams einen Ort, um Richtlinien zu definieren, Verhalten zu beobachten und zu steuern, wie Agenten auf Code, Systeme und Umgebungen von der Entwicklung bis zur Produktion zugreifen. - Start building reliable agentic systems with guardrails, observability, and workflows that match how your team already ships software. - Beginnen Sie mit dem Aufbau zuverlässiger agentischer Systeme mit Guardrails, Observability und Workflows, die zu der Art passen, wie Ihr Team bereits Software ausliefert. + Keep agent-assisted work on the same bar as the rest of your practice: guardrails, observability, and controls that match how you review changes, manage access, and release software. + Halten Sie agentisch unterstützte Arbeit auf dem gleichen Niveau wie den Rest Ihrer Praxis: Guardrails, Observability und Kontrollen, die zu Ihrer Art passen, Änderungen zu prüfen, Zugriffe zu verwalten und Software auszurollen. Get started diff --git a/apps/frontend-portal/src/i18n/messages.xlf b/apps/frontend-portal/src/i18n/messages.xlf index 935149d3..2812dce5 100644 --- a/apps/frontend-portal/src/i18n/messages.xlf +++ b/apps/frontend-portal/src/i18n/messages.xlf @@ -603,13 +603,13 @@ Agenstra Desktop gives developers a secure local control center for connecting to Agenstra, inspecting agents, and working with context in their daily workflow. - Centralized Control For Distributed AI Agents + Centralized control for AI agents in your software delivery pipeline - Modern teams don't struggle to create AI agents. They struggle to control them. Agenstra gives engineering and platform teams a single place to design, deploy, and govern AI agents across tools, clouds, and environments. + Agents are wired into editors, pipelines, and internal tools as part of how teams ship. Agenstra gives engineering and platform teams one place to define policy, observe behavior, and govern how agents access code, systems, and environments from development through production. - Start building reliable agentic systems with guardrails, observability, and workflows that match how your team already ships software. + Keep agent-assisted work on the same bar as the rest of your practice: guardrails, observability, and controls that match how you review changes, manage access, and release software. Get started diff --git a/libs/domains/framework/frontend/feature-portal/src/lib/home/home.component.html b/libs/domains/framework/frontend/feature-portal/src/lib/home/home.component.html index 59d3cac3..de267988 100644 --- a/libs/domains/framework/frontend/feature-portal/src/lib/home/home.component.html +++ b/libs/domains/framework/frontend/feature-portal/src/lib/home/home.component.html @@ -1,18 +1,19 @@ -
-
+
+

- Centralized Control For Distributed AI Agents + Centralized control for AI agents in your software delivery pipeline

- Modern teams don't struggle to create AI agents. They struggle to control them. Agenstra gives engineering and - platform teams a single place to design, deploy, and govern AI agents across tools, clouds, and environments. + Agents are wired into editors, pipelines, and internal tools as part of how teams ship. Agenstra gives + engineering and platform teams one place to define policy, observe behavior, and govern how agents access + code, systems, and environments from development through production.

- Start building reliable agentic systems with guardrails, observability, and workflows that match how your team - already ships software. + Keep agent-assisted work on the same bar as the rest of your practice: guardrails, observability, and controls + that match how you review changes, manage access, and release software.

diff --git a/libs/domains/framework/frontend/feature-portal/src/lib/home/home.component.scss b/libs/domains/framework/frontend/feature-portal/src/lib/home/home.component.scss index c0e02caf..63ed255e 100644 --- a/libs/domains/framework/frontend/feature-portal/src/lib/home/home.component.scss +++ b/libs/domains/framework/frontend/feature-portal/src/lib/home/home.component.scss @@ -105,3 +105,63 @@ font-size: 6rem; opacity: 0.2; } + +.intent-cards { + margin-top: -5rem; + position: relative; + + @media (max-width: 768px) { + padding-top: 2.5rem; + margin-top: 0; + + > .intent-card { + display: none; + } + + .intent-card-progress { + display: none; + } + } + + @media (max-width: 992px) and (min-width: 768px) { + margin-top: -2rem; + } + + @media (max-width: 1200px) and (min-width: 992px) { + margin-top: -3rem; + } + + > .intent-card { + position: relative; + z-index: 3; + } + + .intent-card-progress { + position: relative; + width: 75px; + height: 10px; + margin: 0 auto; + border-radius: 5px; + overflow: hidden; + margin-top: -10px; + z-index: 4; + top: -1rem; + cursor: pointer; + + &::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: var(--progress); + height: 100%; + background-color: var(--bs-primary); + transition: width 0.3s ease; + } + } +} + +.hero-content { + position: relative; + z-index: 10; +} diff --git a/libs/domains/framework/frontend/feature-portal/src/lib/home/home.component.ts b/libs/domains/framework/frontend/feature-portal/src/lib/home/home.component.ts index ea8b003e..04934f99 100644 --- a/libs/domains/framework/frontend/feature-portal/src/lib/home/home.component.ts +++ b/libs/domains/framework/frontend/feature-portal/src/lib/home/home.component.ts @@ -1,5 +1,5 @@ -import { CommonModule } from '@angular/common'; -import { ChangeDetectionStrategy, Component, inject, OnInit } from '@angular/core'; +import { CommonModule, isPlatformBrowser } from '@angular/common'; +import { ChangeDetectionStrategy, Component, inject, OnInit, PLATFORM_ID, signal } from '@angular/core'; import { Meta, Title } from '@angular/platform-browser'; import { RouterModule } from '@angular/router'; @@ -14,6 +14,9 @@ import { RouterModule } from '@angular/router'; export class PortalHomeComponent implements OnInit { private readonly titleService = inject(Title); private readonly metaService = inject(Meta); + private readonly platformId = inject(PLATFORM_ID); + activeSlide = signal(1); + autoplayInterval = this.initializeAutoplayInterval(); ngOnInit(): void { this.titleService.setTitle( @@ -33,4 +36,38 @@ export class PortalHomeComponent implements OnInit { { name: 'canonical', content: 'https://agenstra.com' }, ]); } + + scrollToIntent(event: MouseEvent) { + const target = event.target as HTMLElement; + const rect = target.getBoundingClientRect(); + const clickX = event.clientX - rect.left; + const slideWidth = rect.width / 4; + let slideNum = Math.floor(clickX / slideWidth) + 1; + slideNum = Math.max(1, Math.min(4, slideNum)); + this.activeSlide.set(slideNum); + } + + pauseAutoplay() { + if (this.autoplayInterval) { + clearInterval(this.autoplayInterval); + } + this.autoplayInterval = null; + } + + resumeAutoplay() { + this.autoplayInterval = this.initializeAutoplayInterval(); + } + + private initializeAutoplayInterval() { + if (isPlatformBrowser(this.platformId)) { + return setInterval(() => { + this.activeSlide.update((prev) => prev + 1); + if (this.activeSlide() > 4) { + this.activeSlide.set(1); + } + }, 3000); + } + + return null; + } }