Skip to content

Commit

Permalink
feat: mkt digest section + misc tweaks (#37)
Browse files Browse the repository at this point in the history
* feat: digest section + misc tweaks

* feat: slack logo
  • Loading branch information
waltergalvao authored Dec 8, 2024
1 parent cc584b3 commit f3efee1
Show file tree
Hide file tree
Showing 9 changed files with 176 additions and 14 deletions.
2 changes: 2 additions & 0 deletions apps/mkt/app/(default)/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@ import FeaturesTraits from "@/components/features-traits";
import FeaturesAutomations from "@/components/features-automations";
import PricingTabs from "@/components/pricing-tabs";
import ProblemStatements from "@/components/problem-statements";
import FeaturesSlack from "@/components/features-slack";

export default function Home() {
return (
<>
<Hero />
<ProblemStatements />
<FeaturesOverview />
<FeaturesSlack />
<FeaturesAutomations />
<FeaturesTraits />
<PricingTabs />
Expand Down
2 changes: 1 addition & 1 deletion apps/mkt/components/features-automations.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export default function FeaturesAutomations() {
<div className="max-w-6xl mx-auto px-4 sm:px-6 md:px-0">
<div className="max-w-6xl mx-auto text-center pb-12">
<h2 className="font-inter-tight text-3xl md:text-4xl font-bold text-white mb-4">
Automate the pain away
Automations for developers
</h2>
<h3 className="text-lg text-dark-100">
Configurable no-code routines to improve productivity and
Expand Down
2 changes: 1 addition & 1 deletion apps/mkt/components/features-overview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ export default function FeaturesOverview() {
{/* Tabs buttons */}
<div className="mb-8 md:mb-0 space-y-3">
<p className="text-white uppercase text-sm font-medium text-center ">
For managers & team leads
For managers & their teams
</p>
{features.map((feature, index) => {
const Icon = feature.icon;
Expand Down
159 changes: 159 additions & 0 deletions apps/mkt/components/features-slack.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
"use client";

import { useState, useRef, useEffect } from "react";
import { Transition } from "@headlessui/react";
import Image from "next/image";
import SlackLogo from "@/public/images/logos/slack.svg";
import DigestMetrics from "@/public/images/digest-metrics.png";
import DigestWip from "@/public/images/digest-wip.png";
import { IconChartBar, IconProgress } from "@tabler/icons-react";

export default function FeaturesSlack() {
const [tab, setTab] = useState<number>(1);

const tabs = useRef<HTMLDivElement>(null);

const heightFix = () => {
if (tabs.current && tabs.current.parentElement)
tabs.current.parentElement.style.height = `${tabs.current.clientHeight}px`;
};

useEffect(() => {
heightFix();
}, []);

return (
<section className="relative bg-dark-800 border-t border-dark-400">
<div className="py-12 md:py-20">
<div className="max-w-[908px] mx-auto px-4 sm:px-6">
<div className="max-w-3xl mx-auto text-center pb-12">
<h2 className="font-inter-tight text-3xl md:text-4xl font-bold text-white mb-4">
Digests
</h2>
<p className="text-lg text-dark-100">
Scheduled digests to keep your team informed and accountable.
</p>
</div>
<div>
{/* Tabs buttons */}
<div className="grid grid-cols-2 md:grid-cols-2 gap-4 md:gap-6">
<button
className={`hover:scale-105 transition-all duration-500 text-left px-4 py-5 border border-dark-400 rounded ${tab !== 1 ? "bg-dark-800 opacity-60 hover:opacity-100 transition" : "bg-dark-900 shadow-sm"}`}
onClick={(e) => {
e.preventDefault();
setTab(1);
}}
>
<div className="flex items-center justify-between mb-1">
<div className="text-xl font-inter-tight font-semibold text-zinc-200">
Metrics Digest
</div>
<div
className={`${tab === 1 ? "text-green-400" : "text-white"}`}
>
<IconChartBar stroke={1} />
</div>
</div>
<div className="text-sm text-zinc-400">
Identify bottlenecks and understand impact of changes.
</div>
</button>
<button
className={`hover:scale-105 transition-all duration-500 text-left px-4 py-5 border border-dark-400 rounded ${tab !== 2 ? "bg-dark-800 opacity-60 hover:opacity-100 transition" : "bg-dark-900 shadow-sm"}`}
onClick={(e) => {
e.preventDefault();
setTab(2);
}}
>
<div className="flex items-center justify-between mb-1">
<div className="text-xl font-inter-tight font-semibold text-zinc-200">
Work In Progress Digest
</div>
<div
className={`${tab === 2 ? "text-green-400" : "text-white"}`}
>
<IconProgress stroke={1.5} />
</div>
</div>
<div className="text-sm text-zinc-400">
Keep the team in sync.
</div>
</button>
</div>
{/* Tabs items */}
<div className="relative lg:max-w-none -mx-6">
<div className="relative flex flex-col pt-12 mx-6" ref={tabs}>
{/* Item 1 */}
<Transition
show={tab === 1}
className="w-full text-center"
enter="transition ease-in-out duration-700 transform order-first"
enterFrom="opacity-0 -translate-y-4"
enterTo="opacity-100 translate-y-0"
leave="transition ease-in-out duration-300 transform absolute"
leaveFrom="opacity-100 translate-y-0"
leaveTo="opacity-0 translate-y-4"
beforeEnter={() => heightFix()}
unmount={false}
>
<div className="inline-flex relative align-top">
<Image
className="rounded-lg box-content"
src={DigestMetrics}
quality={100}
width={860}
height={500}
alt="Metrics Digest"
/>

<Image
className="absolute top-0 left-full -translate-x-[70%] ml-2 -mt-4 md:ml-5 md:-mt-6 w-[48px] h-[48px] md:w-[100px] md:h-[100px]"
src={SlackLogo}
width={100}
height={100}
alt="Illustration"
aria-hidden="true"
/>
</div>
</Transition>
{/* Item 2 */}
<Transition
show={tab === 2}
className="w-full text-center"
enter="transition ease-in-out duration-700 transform order-first"
enterFrom="opacity-0 -translate-y-4"
enterTo="opacity-100 translate-y-0"
leave="transition ease-in-out duration-300 transform absolute"
leaveFrom="opacity-100 translate-y-0"
leaveTo="opacity-0 translate-y-4"
beforeEnter={() => heightFix()}
unmount={false}
>
<div className="inline-flex relative align-top">
<Image
className="rounded-lg box-content"
src={DigestWip}
width={860}
height={500}
quality={100}
alt="Work In Progress Digest"
/>

<Image
className="absolute top-0 left-full -translate-x-[70%] ml-2 -mt-4 md:ml-5 md:-mt-6 w-[48px] h-[48px] md:w-[100px] md:h-[100px]"
src={SlackLogo}
width={100}
height={100}
alt="Illustration"
aria-hidden="true"
/>
</div>
</Transition>
</div>
</div>
</div>
</div>
</div>
</section>
);
}
24 changes: 12 additions & 12 deletions apps/mkt/components/features-traits.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@ import Image from "next/image";
import ShieldImage from "@/public/images/shield.png";
import CommandImage from "@/public/images/command.png";
import SimpleImage from "@/public/images/simple.png";
import CommunityImage from "@/public/images/community-bg.png";
import GitRepo from "@/public/images/git-repo.jpg";
import SpeedImage from "@/public/images/speed.png";

import {
IconActivityHeartbeat,
IconBolt,
IconCode,
IconFocus,
IconHeadphones,
IconHeartHandshake,
IconPlugConnected,
IconRefreshDot,
IconShieldHeart,
IconSteam,
Expand Down Expand Up @@ -179,8 +179,8 @@ export default function FeaturesTraits() {
</div>
<figure className="relative">
<Image
className="h-[250px] mt-[27px] lg:h-[280px] lg:max-h-[280px] border border-dark-400 w-auto object-cover mx-auto object-left sm:object-contain sm:h-auto rounded-t-lg opacity-80 shadow-[0_0_20px_3px_rgba(255,255,255,0.1)] block"
src={CommunityImage}
className="h-[250px] mt-[27px] lg:h-[280px] lg:max-h-[280px] border border-dark-400 w-auto object-cover mx-auto object-left sm:object-contain sm:h-auto rounded-t-lg opacity-90 shadow-[0_0_20px_3px_rgba(255,255,255,0.25)] block z-[10000]"
src={GitRepo}
width={721}
height={280}
alt="Community"
Expand Down Expand Up @@ -251,12 +251,6 @@ export default function FeaturesTraits() {
"Integration with your CI/CD for insights on failure rates, runtime, and correlation with other metrics.",
icon: IconRefreshDot,
},
{
title: "Focus time",
description:
"Integration with your calendar provider to give you insights on developers' available focus time.",
icon: IconHeadphones,
},
{
title: "Wellbeing",
description:
Expand All @@ -270,9 +264,15 @@ export default function FeaturesTraits() {
icon: IconTarget,
},
{
title: "Onboarding",
title: "More Integrations",
description:
"All of your toolstack: JIRA, Linear, Teams, PagerDuty, and others.",
icon: IconPlugConnected,
},
{
title: "1:1s",
description:
"A gamified experience to make onboarding more effective and fun.",
"A new experience for managers and leaders to coach their teams.",
icon: IconHeartHandshake,
},
].map((plannedFeature) => {
Expand Down
Binary file added apps/mkt/public/images/digest-metrics.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added apps/mkt/public/images/digest-wip.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added apps/mkt/public/images/git-repo.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions apps/mkt/public/images/logos/slack.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit f3efee1

Please sign in to comment.