Add login button, UI tweaks
Docker / build (push) Canceled after 46s

This commit is contained in:
2026-07-17 00:32:39 +12:00
parent 7cb01d7ad0
commit 53df8dcefc
6 changed files with 45 additions and 27 deletions
+2 -2
View File
@@ -3,9 +3,9 @@
# ============================================ # ============================================
# IMPORTANT: Node.js Version Maintenance # IMPORTANT: Node.js Version Maintenance
# This Dockerfile uses Node.js 24.13.0-slim, which was the latest LTS version at the time of writing. # This Dockerfile uses Node.js 24.18.0-slim, which was the latest LTS version at the time of writing.
# To ensure security and compatibility, regularly update the NODE_VERSION ARG to the latest LTS version. # To ensure security and compatibility, regularly update the NODE_VERSION ARG to the latest LTS version.
ARG NODE_VERSION=24.13.0-slim ARG NODE_VERSION=24.18.0-slim
FROM node:${NODE_VERSION} AS dependencies FROM node:${NODE_VERSION} AS dependencies
+17 -2
View File
@@ -60,7 +60,14 @@ export function Header() {
</div> </div>
{/* CTA Button */} {/* CTA Button */}
<div className="hidden md:block"> <div className="hidden md:flex items-center gap-8">
<Link
href="https://auth.cloudrite.co.nz"
className="relative text-sm font-medium text-muted-foreground hover:text-foreground transition-colors duration-300 group"
>
Login
<span className="absolute -bottom-1 left-0 w-0 h-0.5 bg-primary transition-all duration-300 group-hover:w-full" />
</Link>
<Button <Button
asChild asChild
className="bg-primary text-primary-foreground hover:bg-primary/90 transition-all duration-300 hover:scale-105 hover:shadow-lg hover:shadow-primary/25" className="bg-primary text-primary-foreground hover:bg-primary/90 transition-all duration-300 hover:scale-105 hover:shadow-lg hover:shadow-primary/25"
@@ -115,7 +122,15 @@ export function Header() {
))} ))}
<Button <Button
asChild asChild
className="w-full mt-4 bg-primary text-primary-foreground hover:bg-primary/90" className="w-full mt-4 bg-secondary text-secondary-foreground hover:bg-secondary/90"
>
<Link href="https://auth.cloudrite.co.nz" onClick={() => setIsMobileMenuOpen(false)}>
Login
</Link>
</Button>
<Button
asChild
className="w-full bg-primary text-primary-foreground hover:bg-primary/90"
> >
<Link href="#contact" onClick={() => setIsMobileMenuOpen(false)}> <Link href="#contact" onClick={() => setIsMobileMenuOpen(false)}>
Get in Touch Get in Touch
+3 -3
View File
@@ -132,11 +132,11 @@ export function Hero() {
</p> </p>
{/* CTA Buttons */} {/* CTA Buttons */}
<div className="flex flex-col sm:flex-row items-center justify-center gap-4 animate-fade-in animation-delay-700"> <div className="flex flex-col sm:flex-row items-center justify-center gap-4 animate-fade-in animation-delay-700 max-w-36 mx-auto">
<Button <Button
asChild asChild
size="lg" size="lg"
className="group bg-primary text-primary-foreground hover:bg-primary/90 px-8 py-6 text-lg transition-all duration-300 hover:scale-105 hover:shadow-xl hover:shadow-primary/25" className="group bg-primary text-primary-foreground hover:bg-primary/90 w-full py-6 text-lg transition-all duration-300 hover:scale-105 hover:shadow-xl hover:shadow-primary/25"
> >
<Link href="#contact"> <Link href="#contact">
Let&apos;s Talk Let&apos;s Talk
@@ -147,7 +147,7 @@ export function Hero() {
asChild asChild
variant="outline" variant="outline"
size="lg" size="lg"
className="px-8 py-6 text-lg border-border hover:bg-card hover:border-primary/50 transition-all duration-300" className="w-full py-6 text-lg border-border hover:bg-card hover:border-primary/50 transition-all duration-300"
> >
<Link href="#services">Our Services</Link> <Link href="#services">Our Services</Link>
</Button> </Button>
+1 -1
View File
@@ -61,7 +61,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tailwindcss/postcss": "^4.2.0", "@tailwindcss/postcss": "^4.2.0",
"@types/node": "^22", "@types/node": "^24",
"@types/react": "19.2.14", "@types/react": "19.2.14",
"@types/react-dom": "19.2.3", "@types/react-dom": "19.2.3",
"postcss": "^8.5", "postcss": "^8.5",
+10 -9
View File
@@ -160,8 +160,8 @@ importers:
specifier: ^4.2.0 specifier: ^4.2.0
version: 4.2.2 version: 4.2.2
'@types/node': '@types/node':
specifier: ^22 specifier: ^24
version: 22.19.15 version: 24.13.3
'@types/react': '@types/react':
specifier: 19.2.14 specifier: 19.2.14
version: 19.2.14 version: 19.2.14
@@ -1219,8 +1219,8 @@ packages:
'@types/[email protected]': '@types/[email protected]':
resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
'@types/node@22.19.15': '@types/node@24.13.3':
resolution: {integrity: sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==} resolution: {integrity: sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==}
'@types/[email protected]': '@types/[email protected]':
resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==}
@@ -1646,6 +1646,7 @@ packages:
[email protected]: [email protected]:
resolution: {integrity: sha512-cIvMxDfpAmqAmVgc4yb7pgm/O1tmmkl/CjrvXuW+62/+7jj/iF9Ykm+hb/UJt42TREHMyd3gb+pkgoa2MxgDIw==} resolution: {integrity: sha512-cIvMxDfpAmqAmVgc4yb7pgm/O1tmmkl/CjrvXuW+62/+7jj/iF9Ykm+hb/UJt42TREHMyd3gb+pkgoa2MxgDIw==}
engines: {node: '>=14'} engines: {node: '>=14'}
deprecated: 1.x and 2.x branches are no longer active. Bump to Recharts v3 to receive latest features and bugfixes. See https://github.com/recharts/recharts/wiki/3.0-migration-guide
peerDependencies: peerDependencies:
react: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -1709,8 +1710,8 @@ packages:
engines: {node: '>=14.17'} engines: {node: '>=14.17'}
hasBin: true hasBin: true
undici-types@6.21.0: undici-types@7.18.2:
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==}
[email protected]: [email protected]:
resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
@@ -2723,9 +2724,9 @@ snapshots:
'@types/[email protected]': {} '@types/[email protected]': {}
'@types/node@22.19.15': '@types/node@24.13.3':
dependencies: dependencies:
undici-types: 6.21.0 undici-types: 7.18.2
'@types/[email protected](@types/[email protected])': '@types/[email protected](@types/[email protected])':
dependencies: dependencies:
@@ -3153,7 +3154,7 @@ snapshots:
[email protected]: {} [email protected]: {}
undici-types@6.21.0: {} undici-types@7.18.2: {}
[email protected]([email protected]): [email protected]([email protected]):
dependencies: dependencies:
+2
View File
@@ -0,0 +1,2 @@
allowBuilds:
sharp: false