# React → Vue port conventions (gigafibre website)
We are porting the React site at `../website` (React 18 + Vite + Tailwind 3 + shadcn/ui + Radix)
to this Vue 3 app (`../website-vue`, Vue 3 `
```
## Do / Don't
- DO keep every Tailwind class string identical to the React source.
- DO keep the same DOM structure, headings, copy (French text) and image URLs.
- DO reuse `Header`, `Footer`, `BusinessPageLayout`, `GlassCard`, `Logo` from `@/components/...`.
- DON'T add new colors, spacing, or restyle. DON'T invent content.
- DON'T pull in new deps; everything needed is installed.
- If a React file uses `input-otp` (not in the shadcn-vue registry), use a plain grouped `Input` set or note it.
- If something can't be perfectly matched, leave a `` and keep the closest visual.
## Assets
Static files live in `public/` and resolve under `/next/...` (Vite `base: '/next/'`). Copy any images the
React app references from `../website/public` into `./public` (same relative paths).