256 Commits

Author SHA1 Message Date
vercel[bot] 2338f8763c Add Vercel Web Analytics to Next.js (#1)
## Vercel Web Analytics Implementation Report

Successfully installed and configured Vercel Web Analytics for the userinterface-wiki Next.js project.

### Summary
Implemented Vercel Web Analytics integration for a Next.js App Router project using the `@vercel/analytics` package that was already listed as a dependency.

### Changes Made

#### Modified Files:
- **app/layout.tsx**
  - Added import: `import { Analytics } from "@vercel/analytics/next";`
  - Added `<Analytics />` component inside the `<body>` tag, after the `<Providers>` closing tag and before `</body>`
  - The component is properly positioned to track all page views across the application

### Technical Details

1. **Router Type**: This is an App Router project with `app/layout.tsx` as the root layout
2. **Package Status**: `@vercel/analytics` v1.6.1 was already in dependencies
3. **Dependencies**: Installed and verified all dependencies with `pnpm install`
4. **Code Quality**:
   - TypeScript type checking: ✓ Passed (no errors)
   - Biome linter: ✓ Passed (organized imports according to project conventions)
   - No breaking changes to existing code structure

### Verification Steps Completed

1. ✓ Identified App Router project structure
2. ✓ Installed all dependencies using pnpm
3. ✓ Added Analytics import with correct path (`@vercel/analytics/next`)
4. ✓ Added `<Analytics />` component in the body tag
5. ✓ Ran TypeScript type checking - no errors
6. ✓ Ran biome linter - fixed formatting issues
7. ✓ Verified Analytics component is correctly placed for tracking all routes

### Implementation Notes

- The Analytics component is positioned after `<Providers>` to ensure it doesn't block provider functionality
- It's placed inside the `<body>` tag as recommended by Vercel documentation
- No existing code was modified or removed; only additions were made
- The component will automatically track page views and user interactions across the application
- No environment variables or additional configuration is needed for basic functionality

### Build Status

The project has a pre-existing Turbopack build error related to app routing structure (catch-all routes with static files in `app/(writing)/[...slug]/twitter-image.tsx`), which is unrelated to these Analytics changes. This issue existed before our modifications and does not affect the Analytics implementation.

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
2025-12-17 21:21:31 +00:00
Raphael S. 58dbac9058 feat(opengraph): implement dynamic Open Graph and Twitter image generation
- Added dynamic image generation for Open Graph and Twitter cards.
- Removed unused image files and updated metadata generation to include image URLs.
- Enhanced the apple and icon components with dynamic settings.
2025-12-17 21:20:50 +00:00
Raphael S. 9fefc801cd chore: clean up empty code change sections
Removed multiple empty <code-changes> sections from the changes log to improve readability and maintainability of the codebase. This helps in keeping the change history concise and focused on actual modifications.
2025-12-17 21:09:34 +00:00
Raphael S. 2bbd58e0d7 feat(motion-preview): update clip-path attribute for SVG consistency 2025-12-17 20:25:10 +00:00
Raphael S. d7ad2f1d09 feat(metadata): enhance site metadata and viewport settings
- Updated metadata for improved SEO and social sharing.
- Added viewport settings for better mobile responsiveness.
- Introduced skip link for accessibility improvements.
2025-12-17 09:33:14 +00:00
Raphael S. e285bc9937 feat(icons): implement dynamic seed for Code and Essay preview icons 2025-12-16 22:28:04 +00:00
Raphael S. b5dd63089e feat(icon): add icon support for documents and update components
- Introduced an `icon` field in document metadata to categorize content.
- Updated `PageCard` component to render icons based on the new metadata.
- Added new icon components for `EssayPreview` and `MotionPreview`.
- Refactored existing components to utilize the new icon system.
2025-12-16 21:27:35 +00:00
Raphael S. a58a963b7b feat(footer): enhance footer component with dynamic metadata and sharing options
- Added props for slug, title, and description to the Footer component.
- Implemented clipboard functionality for copying links and text.
- Integrated sharing options for Twitter and GitHub.
- Improved animations for button interactions.
2025-12-16 18:16:36 +00:00
Raphael S. 6885bbf077 style(table): adjust table layout for better responsiveness 2025-12-16 17:50:17 +00:00
Raphael S. 2caf18ca28 feat(audio-reader): enhance audio reader controls and styling 2025-12-16 17:48:41 +00:00
Raphael S. 00a9100cb0 feat(audio-reader): refactor audio reader component and enhance chapter handling
- Introduced a new Controls component to encapsulate media player controls.
- Added a ChaptersMenu and SettingsMenu for better organization and usability.
- Updated chapter numbering logic to improve chapter display.
- Removed playback rate management from the audio reader state.
- Enhanced CSS styles for better visual consistency and interaction feedback.
2025-12-16 17:35:04 +00:00
Raphael S. 0c0f4fcdac feat(audio-reader): add chapters and settings menu for audio reader 2025-12-16 16:27:44 +00:00
Raphael S. 49ec2c13b6 feat(audio-reader): enhance audio reader with playback rate control and metadata integration
- Added playback rate functionality to the audio reader component.
- Integrated title and author name into the audio reader for improved metadata handling.
- Updated styles for better focus visibility on buttons.
- Introduced new GearIcon and PlaylistIcon components for UI consistency.
2025-12-16 16:22:52 +00:00
Raphael S. fab905f4eb feat(audio-reader): add seek functionality to audio reader component 2025-12-16 13:58:14 +00:00
Raphael S. fd062805c8 refactor(arrow): update import path for IconProps type
fix(rehype-word-spans): simplify property access for dataFootnotes
fix(gradient): use template literal for hex color generation
build: modify build script to include TTS generation
chore: add dotenv and picocolors dependencies
chore: add tsx as a dev dependency
feat: implement TTS audio generation script
2025-12-16 12:22:48 +00:00
Raphael S. e978ab2949 feat(audio-reader): add gradient color generation for orb component 2025-12-15 23:31:43 +00:00
Raphael S. c011a6f81d feat(audio-reader): integrate audio reader component into article page 2025-12-15 23:30:34 +00:00
Raphael S. 1987316d0c refactor(audio-reader): remove hover highlight 2025-12-15 22:45:37 +00:00
Raphael S. bbd93a50e1 feat(mdx): update h2 rendering and style adjustments
- Modify h2 component to render an hr for footnote labels.
- Adjust hr height and background color for better visibility.
- Remove unused typography styles to streamline CSS.
2025-12-15 22:42:59 +00:00
Raphael S. e9def7c637 docs: refine introduction to the principles of animation 2025-12-15 22:26:49 +00:00
Raphael S. afeefb14f1 feat(animation): add 12 principles of animation components
- Implemented various animation principles including Follow Through, Slow In and Out, Arcs, Secondary Action, and Timing.
- Each principle is encapsulated in its own component with corresponding styles.
- Added visualizations and interactive elements to enhance understanding of animation concepts.
2025-12-15 22:21:35 +00:00
Raphael S. 3ec16f03a6 feat(anticipation): enhance anticipation animation with color refresh and shaking effect
- Implemented a color refresh mechanism using chroma.js to randomize colors.
- Added a shaking effect when the drag threshold is exceeded.
- Removed previous issue handling and integrated pantone color display.
- Updated styles for improved layout and visual feedback.

feat(staging): reintroduce staging component with animation effects

- Created a new staging component to display a quote with an image.
- Added hover and tap animations for interactive user experience.
- Styled the component for better visual appeal and responsiveness.

fix(follow-through): adjust pull strength and drag scaling for better interaction

- Increased pull strength for more responsive dragging behavior.
- Adjusted scaling during drag to enhance visual feedback.
2025-12-15 21:47:53 +00:00
Raphael S. fd9cbcaf97 feat(animation): add new components and styles for animation principles
- Implemented the Straight Ahead Action and Pose to Pose components.
- Refactored existing styles and added new styles for better visual consistency.
- Updated various CSS variables to improve theme integration.
- Removed unused select component and styles to streamline the codebase.
2025-12-15 20:36:21 +00:00
Raphael S. 276d4d39d3 feat(animation): add follow-through and overlapping action components 2025-12-15 11:59:45 +00:00
Raphael S. f3626a2b21 refactor(animation): simplify center update logic in FollowThroughAndOverlappingAction 2025-12-15 10:54:58 +00:00
Raphael S. 06dec49128 refactor(animation): update rehypeWordSpans function to use let for counter and restore properties 2025-12-15 10:05:45 +00:00
Raphael S. 857f5898c2 refactor(rehype-word-spans): change counter declaration and restore properties 2025-12-15 09:54:45 +00:00
Raphael S. 42c41044b4 feat(animation): implement Browser component and update styles
- Replace DiaBrowser with a new Browser component for better structure.
- Update styles for the new component to enhance visual consistency.
- Refactor rehypeWordSpans to use a constant for counter.
- Clean up commented properties in rehypeWordSpans for clarity.
2025-12-15 09:54:35 +00:00
Raphael S. d69744ae2a feat(animation): add follow-through and overlapping action principle
- Implemented a new animation principle demonstrating follow-through and overlapping action.
- Created interactive components with drag-and-drop functionality.
- Added styles for the new components and integrated them into the existing principles.

feat(select): introduce custom select component

- Developed a reusable select component with various subcomponents for better modularity.
- Styled the select component to match the design system.

feat(staging): create staging component for visual storytelling

- Added a staging component that showcases images with text overlays.
- Implemented animations for image transitions and overlays.

feat(straight-ahead): add select options for animation techniques

- Created a selection interface for different animation techniques (Straight Ahead, Pose to Pose, Blending).
- Integrated the select component into the animation principles section.
2025-12-15 08:45:31 +00:00
Raphael S. 616950a394 feat(animation): implement Arcs component and update SecondaryAction styles
- Added a new Arcs component to display an animation video.
- Updated SecondaryAction component to improve visual feedback with adjusted widths and added dynamic text.
- Removed deprecated Arcs component and styles.
2025-12-14 16:20:01 +00:00
Raphael S. d262412331 chore: remove deprecated SecondaryAction component and related styles 2025-12-14 16:04:45 +00:00
Raphael S. 6de34dbfe0 chore: remove Aphex Twin icon and related timing feature
- Deleted the Aphex Twin icon component and its references in the icons index.
- Removed the Timing component and its styles, which utilized the Aphex Twin icon.
- Updated various styles across the 12 principles documents to improve consistency and visual appearance.
- Added new functionality to the Timing component, which now uses chroma-js and pantone-tcx for color handling.
2025-12-14 14:03:00 +00:00
Raphael S. 3d15dc3ae5 feat(exaggeration): implement new Exaggeration component with input handling
- Moved Exaggeration logic to a new file for better organization.
- Added input handling with success and error states.
- Integrated animations for user feedback.
- Created corresponding styles for the new component.
2025-12-14 02:33:04 +00:00
Raphael S. 53eb2f4a3d style: format code for consistency and readability 2025-12-14 02:14:58 +00:00
Raphael S. decb98f297 feat(solid-drawing): implement new SolidDrawing component with animations
- Added SolidDrawing component to showcase animated globe.
- Introduced styles for the new component, enhancing visual appeal.
- Removed deprecated SolidDrawing files to streamline the codebase.
2025-12-14 02:11:32 +00:00
Raphael S. 6e63487447 refactor(anticipation): simplify issue structure and improve timer handling 2025-12-14 01:14:00 +00:00
Raphael S. e1f7c56df0 feat(icons): add new icons for note, openai, and various principles
- Introduced new icons including NoteIcon and OpenAIIcon for enhanced visual representation.
- Added icons for the Squash and Stretch principles: ArrowIcon, CrownIcon, FireIcon, and ToastIcon.
- Implemented anticipation icons: HighPriority, InProgress, Done, Todo, Check, Bolt, and Avatar.
- Created corresponding styles and components for the new icons to ensure consistent design and functionality.
2025-12-14 00:06:07 +00:00
Raphael S. 85db6ea9fe refactor(styles): consolidate and simplify CSS for typography and code
- Removed multiple CSS files and merged styles into a single index.css for better maintainability.
- Updated styles for headings, lists, tables, and code blocks to use CSS variables for consistency.
- Improved readability and organization of styles by utilizing the `:where` pseudo-class.
- Removed deprecated styles and ensured all typography and code styles are defined in one place.

BREAKING CHANGE: The structure of CSS files has changed, affecting how styles are imported and applied.
2025-12-13 22:44:18 +00:00
Raphael S. e79b60718c chore: remove redundant code changes
This commit cleans up the codebase by removing multiple instances of
unnecessary code changes that do not contribute to functionality or
performance. This helps maintain clarity and reduces potential
confusion for future development.
2025-12-13 21:59:42 +00:00
Raphael S. fa5a291bd0 chore: remove unused code blocks
This commit cleans up the codebase by removing redundant code blocks
that are no longer in use. This helps improve readability and maintainability
of the code.

Reviewed-by: Team Lead
2025-12-13 16:57:22 +00:00
Raphael S. dbbe3d9896 feat(animation): add new principles for animation techniques
- Implemented multiple animation principles including "Squash and Stretch", "Solid Drawing", "Timing", and "Staging".
- Created corresponding styles and components for each principle.
- Added documentation files for "Understanding Springs" and "Why is the Web Afraid of Sound?" to enhance understanding of sound and animation in web design.
2025-12-13 16:57:14 +00:00
Raphael S. 17a5dc085d refactor(format): simplify author and date formatting logic 2025-12-13 16:36:13 +00:00
Raphael S. a5e310614e refactor(authors): replace Set with Map for author registry 2025-12-13 16:24:34 +00:00
Raphael S. 0e3a6a268e chore: reorganize imports in index.tsx and add constants file 2025-12-13 15:54:26 +00:00
Raphael S. b61d3338f4 chore: huge cleanup 2025-12-13 15:53:33 +00:00
Raphael S. 291c1472e9 feat(home): enhance search functionality and styling
- Added a search icon to the search field for better UX.
- Refactored the search input and list to use the new PageCard component for improved code organization and maintainability.
- Updated styles for the search component to enhance visual consistency.
2025-12-13 15:09:07 +00:00
Raphael S. b7bd1e1fa7 feat(authors): add author data and schema validation
- Introduced author data files for multiple authors including Anton Stallbörger, Jace Attard, Raphael Salaja, and Russell Dare.
- Implemented a schema for author validation using Zod to ensure data integrity.
- Added functions to read and validate author data from JSON files.

feat(content): implement page formatting utilities

- Created utilities for formatting page data, including author resolution and published date formatting.
- Added functions to format a full Page object and an array of Page objects for consistent display.

feat(tts): add text-to-speech functionality

- Developed ElevenLabs integration for synthesizing speech with timestamps.
- Implemented caching mechanisms for audio and timestamp data.
- Added error handling for article retrieval and ElevenLabs API responses.

feat(views): implement article view tracking

- Added functionality to track and increment view counts for articles using Vercel KV.
- Created utility functions for formatting view counts for display.

feat(hierarchy): add documentation on designing hierarchy

- Created a new document outlining principles of design hierarchy, including spacing, contrast, scale, and weight.
- Provided guidelines for designing flows and attention diagnostics.
2025-12-13 14:41:31 +00:00
Raphael S. 532ebcd3c8 chore: clean up empty code change sections
Removed multiple empty <code-changes> sections from the changes log to improve readability and maintainability of the codebase. This helps in keeping the change history concise and focused on actual modifications.
2025-12-13 11:25:26 +00:00
Raphael S. 92c6f912f5 refactor(search-editor): improve display logic for suggestion menu 2025-12-13 11:00:14 +00:00
Raphael S. bf85521357 refactor(search-editor): improve suggestion menu state management and animations 2025-12-13 11:00:08 +00:00