Update website presentation#3
Merged
AnastaZIuk merged 82 commits intoMay 12, 2026
Merged
Conversation
## Original task Port the Vercel/Next.js import (devsh-website) to the pnpm workspace stack as a react-vite artifact, preserving full visual and functional parity. ## What was done - Created react-vite artifact at artifacts/devsh-website/ (previewPath: /) - Copied all public assets from .migration-backup/public/ including: - Client images (baw, ditt, imverse, wild, apps_in_cadd) - Vulkanised conference photos (2023, 2024, 2026) - Nabla framework screenshots and GIFs - FuturaPT font files (3 weights) - Logo and branding assets - Converted Next.js app router (app/) to wouter SPA routing - Replaced next/image with <img> tags (blur effects via CSS absolute positioning) - Replaced next/link with wouter <Link> and <a> tags - Replaced next/navigation usePathname with wouter useLocation - Replaced @next/third-parties YouTubeEmbed with custom iframe embed - Replaced next/font/local with @font-face declarations in index.html - Converted layout.tsx to React Layout wrapper component in App.tsx - All 4 pages ported: Home, About, Nabla, Services - Copied app/data/vulkanised.json for Vulkanised gallery data - Updated index.css to use FuturaPT, black background, teal devsh-link styles - Removed postcss.config.mjs conflict (Tailwind v4 uses @tailwindcss/vite) - No API routes in original app so no Express backend changes needed ## Deviations from original - Blog page was in navbar links in original but had no implementation — omitted - No not-found.tsx route from original (app/not-found.tsx) but scaffold has one - Tailwind v4 @plugin syntax used instead of v3 config plugins array ## Result All 4 pages render correctly matching the original design: black background, FuturaPT custom font, teal accent links, sticky navbar with mobile dropdown, YouTube embed gallery, animated Nabla slides, photo grids with blur effects.
## Original task Port the Vercel/Next.js import (devsh-website) to the pnpm workspace stack as a react-vite artifact, preserving full visual and functional parity. ## What was done - Created react-vite artifact at artifacts/devsh-website/ (previewPath: /) - Copied all public assets from .migration-backup/public/ including: - Client images (baw, ditt, imverse, wild, apps_in_cadd) - Vulkanised conference photos (2023, 2024, 2026) - Nabla framework screenshots and GIFs - FuturaPT font files (3 weights) - Logo and branding assets - Converted Next.js app router (app/) to wouter SPA routing - Replaced next/image with <img> tags (blur effects via CSS absolute positioning) - Replaced next/link with wouter <Link> and <a> tags - Replaced next/navigation usePathname with wouter useLocation - Replaced @next/third-parties YouTubeEmbed with custom iframe embed - Replaced next/font/local with @font-face declarations in index.html - Converted layout.tsx to React Layout wrapper component in App.tsx - All 4 pages ported: Home, About, Nabla, Services - Copied app/data/vulkanised.json for Vulkanised gallery data - Updated index.css to use FuturaPT, black background, teal devsh-link styles - Removed postcss.config.mjs conflict (Tailwind v4 uses @tailwindcss/vite) - No API routes in original app so no Express backend changes needed - Fixed favicon reference to use /favicon.svg (which exists in public/) - Fixed IntersectionObserver null check in OptimizedLoopVideo (&& -> ||) ## Deviations from original - Blog page was in navbar links in original but had no implementation — omitted - Tailwind v4 @plugin syntax used instead of v3 config plugins array ## Result All 4 pages render correctly matching the original design: black background, FuturaPT custom font, teal accent links, sticky navbar with mobile dropdown, YouTube embed gallery, animated Nabla slides, photo grids with blur effects.
## Original task
User imported the DevSH Graphics Programming Next.js site from Vercel; it was
auto-converted to Vite + React. User asked to undo that and restore the
original Next.js file layout — preview only, no publish needed.
## What was done
- Moved everything from `.migration-backup/` back to project root:
- `app/` (App Router pages, components, hooks, fonts, data, globals.css)
- `public/` (all images, videos, logos, client assets)
- `next.config.ts`, `tailwind.config.ts`, `postcss.config.mjs`,
`eslint.config.mjs`, `tsconfig.json`, `package.json`,
`package-lock.json`, `.gitignore`, `README.md`
- Original deployment configs: `Caddyfile`, `Dockerfile`,
`docker-compose.yml`, `.dockerignore`, `.github/`
- Removed pnpm monorepo scaffolding from root: `artifacts/`, `lib/`,
`scripts/`, `pnpm-workspace.yaml`, `pnpm-lock.yaml`,
`tsconfig.base.json`, root `tsconfig.json`, root `package.json`,
the entire `.migration-backup/` folder, and the pnpm-managed
`node_modules/`
- Ran `npm install` (386 packages) for a clean Next.js dep tree
- Updated `next.config.ts` to add `allowedDevOrigins` for preview
proxy (`*.replit.dev` and friends)
- Configured a single workflow "Start application" that runs `npm run dev`
- Updated `package.json` `dev` script to `next dev -p 24631 -H 0.0.0.0`
to match the existing port mapping in `.replit` (port 24631 -> 80),
since direct edits to `.replit` ports are not allowed
- Rewrote `replit.md` to describe the restored Next.js layout
## Deviations / known limitations
- The artifact registry still ghost-lists three artifacts (devsh-website,
api-server, mockup-sandbox) even though their directories are gone, and
there is a "not_started" `artifacts/api-server: API Server` workflow that
cannot be removed via the workflow tool because it's marked as
artifact-managed. These do not affect the running site.
- `.replit` still has the original `[deployment]` and `[postMerge]` blocks
from the pnpm workspace; direct edits are blocked, but they are inert
given the new layout (no scripts/ dir, no pnpm setup).
- `.npmrc` still has pnpm-specific `auto-install-peers` and
`strict-peer-dependencies` settings; npm prints harmless warnings.
- A non-standard dev port (24631) is used instead of 3000/5000 to align
with the pre-existing port mapping.
## Result
- Project root now contains the original Next.js file structure (`app/`,
`public/`, `next.config.ts`, etc.) — no Vite, no monorepo
- `npm run dev` boots Next.js 15.5.7 successfully
- All four routes return HTTP 200 through the preview proxy:
`/`, `/about`, `/services`, `/nabla`
Remove temporary files from `.old_nm_trash` directory, including executables and a lock file, as part of a broader cleanup effort following a user-requested reversal of a migration.
Introduce HeroHeader and ExpertiseGrid components, defining brand accent colors in globals.css and integrating them into app/page.tsx.
Update HeroHeader and ExpertiseGrid components to reduce element sizes, modify layout to use flexbox for centering, and ensure all content is visible on screen without requiring scrolling.
Update ExpertiseGrid component to constrain width to 60% on desktop and center cards, adjust card widths for responsiveness. Modify HeroHeader component to allow headline text wrapping on mobile and increase the size and minimum width of the call to action button.
Replace SVG visuals with placeholder images and update the expertise list in the ExpertiseGrid component.
Update the ExpertiseGrid component to accept image URLs for each item, defaulting to placeholders and providing a clear instruction comment for easy image updates.
Refactor the main page with new sections for projects, testimonials, Nabla, ecosystem, and about. Implement a reusable CTA button component and update global styles with new brand colors.
Adjusted ExpertiseGrid cards to use an aspect-square ratio, increased their sizing responsively across breakpoints, and enhanced hover animations with slower transitions, a stronger glow, and an accent ring for better visual feedback.
Update ProjectsSection.tsx and ExpertiseGrid.tsx to include a partner logo strip, real project details, and correct slugs for linking expertise to projects.
Update `ProjectsSection.tsx` to increase the font size of company names in project rows and change the default state of partner logos from grayscale to full color.
Create a new '/presentations' page displaying embedded YouTube videos from Vulkanised events, and add a "Watch our Presentations" link to the Ecosystem section.
Update `app/data/vulkanised.json` to structure video data by event title and optional URL, and modify `app/presentations/page.tsx` to display events with associated links.
Modify the presentations page to make titles clickable and remove redundant links. Update the main landing page's ecosystem section to include a "Technical Blog" button and revise its descriptive text.
Update `EcosystemSection.tsx` to increase the padding, font size, and icon size of the "Watch our Presentations" and "Technical Blog" buttons, and add more vertical spacing above them.
Update ExpertiseGrid.tsx to adjust hover effects, transition durations, and shadow intensity for interactive cards.
Reduce global scroll padding and remove article-specific scroll margins to ensure accurate anchor point alignment.
Refactors the NablaSection component to include a smaller centered SVG, a left column with GitHub stats and bullet points, and a right column featuring an interactive image slideshow with controls. Updates GitHub stats and adds placeholder slide data.
Move NablaGlyph component to appear after the section title and subtitle in NablaSection.tsx.
Update `EcosystemSection.tsx` to replace placeholder images with actual event photos and corresponding captions.
Modify the EcosystemSection component to use the correct image file and caption for the "Presenting at Vulkanised 2026" event.
Update Nabla section images and captions, replacing the N glyph with a new SVG and updating slide sources.
Remove unused imports and debug logging. Normalize small punctuation issues in existing copy and keep technical comments focused on behavior.
Use current major tags for checkout and Docker actions. This keeps the container build workflow on supported action runtimes.
Set the Git default branch before checkout so workflow logs stay clean.
560b98b
into
Devsh-Graphics-Programming:master
2 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refreshes the public website pages and media presentation. Container CI runs for pull requests while publishing remains limited to master pushes.