Back to Footers
Inspired by:Jolocky
Added on Oct 5, 2026
components/footers/cruising-altitude/cruising-altitude-footer.tsx
"use client"

import * as React from "react"

import { FooterView } from "./components/footer-view"
import { useAltimeter } from "./hooks/use-altimeter"
import { useEntrance } from "./hooks/use-entrance"
import { resolveContent } from "./lib/resolve-content"
import type { CruisingAltitudeFooterProps } from "./types"

export function CruisingAltitudeFooter({
  className,
  onSubscribe,
  ...contentProps
}: CruisingAltitudeFooterProps) {
  const content = resolveContent(contentProps)
  const rootRef = React.useRef<HTMLElement>(null)
  const altimeter = useAltimeter(content.maxAltitude)
  useEntrance(rootRef)

  return (
    <FooterView
      content={content}
      className={className}
      altimeter={altimeter}
      onSubscribe={onSubscribe}
      rootRef={rootRef}
    />
  )
}
Cruising Altitude Footer
cruising-altitude
GateJ7

WhereverYou Land.

© 2026 Jolocky Travel Ltd.
Interactive Architecture
Built from scratch by Jolocky, with our own layout, color and motion.
Signature Standard
Precision interaction engineering with zero external runtime bloat.
Open Source Registry
Production-ready multi-file tree built for modern Next.js and Tailwind CSS.

Engineering Breakdown

Cruising Altitude Footer — A travel footer laid out like the last pages of a magazine, on a sky gradient that runs from blue to a warm sunset peach under a layer of film grain. A huge white headline slides up from behind masks, a rule draws across the page and a small plane glides in along it with a flight caption. The four numbered links count up from 00, and on desktop a shadow along the fold, page numbers, a vertical label and an altimeter complete the spread. Move the mouse and the altimeter marker follows its height, with a live altitude in feet, then eases back to rest when the mouse leaves. The layout follows the width of the footer itself, so it changes in place between a mobile stack, a tablet spread and the full desktop layout.
Every interaction state, motion curve, and responsive edge-case has been extracted and reconstructed for seamless integration into modern React applications.
01
Zero — Primitive Dependency & Pure Standalone Pattern: pure React and scoped CSS. There is no UI primitive library, no animation library, no image files and nothing extra to install.
02
Container Query Breakpoints: the footer is its own container, so mobile under 640px, tablet from 640px and desktop from 1024px depend on the width of the footer, not the window. The headline size also uses container units, so it scales with the footer.
03
Masked Headline: every line of the headline and the gate sits in a box with hidden overflow and slides up from 110% below it. Lines start 140ms apart.
04
Entrance Once: when 25% of the footer is visible, the rule draws over 1.6 seconds, visible elements fade up 45ms apart and the plane glides in over 3 seconds from up to 300px away. Elements hidden by the current breakpoint are skipped, so the stagger has no gaps.
05
Counting Numbers: the four index numbers count from 00 up to their value over 900ms with an ease out curve, each starting 60ms after the one before. They are written straight to the page, so the count never triggers a render.
06
Cursor Altimeter: on desktop with a mouse, the marker follows the height of the pointer over the footer and the number shows the altitude, rounded to 25 feet and written like 20,250. Touch and pen are ignored, and leaving the footer slides the marker back to its rest position.
07
Film Grain: an SVG turbulence filter turned grey and blended in overlay mode at 22% opacity. The filter id is unique for every footer on the page.
08
Drawing Underlines: link underlines draw from left to right over 500ms on hover.
09
Newsletter Without Leaving: the browser checks the e — mail, then the form stays on the page. Pass an onSubscribe handler to send the e—mail to your provider; the field empties unless it returns false or throws.
10
Reduced Motion: the entrance does not play, so every element is simply visible, and the transitions are switched off.
Last Updated
Oct 5, 2026
Tags & Specifications
Magazine SpreadCursor AltimeterCounting NumbersGliding PlaneFilm GrainZero Primitive
Color Palette
#83b8e4
#123063
Technology Stack
Engineered using established and reliable modern web technologies for peak runtime performance and developer ergonomics.
React
Next.js
TypeScript
Scoped CSS
Container Queries
Web Animations
SVG Filters
Inline SVG
Zero Primitive