Skip to content

Commit 08e0ef0

Browse files
updates
1 parent 317bc29 commit 08e0ef0

8 files changed

Lines changed: 116 additions & 117 deletions

File tree

app/[slug]/page.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ export default async function SlugPage({ params }: Props) {
8686
title={post.title}
8787
date={post.date}
8888
breadcrumbs={breadcrumbs}
89+
showTopActionBanner
8990
showInterviewBanner={isJobSupportSlug(slug)}
9091
>
9192
<Article />

app/blog/[slug]/page.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ export default async function BlogArticlePage({ params }: Props) {
8686
title={post.title}
8787
date={post.date}
8888
breadcrumbs={breadcrumbs}
89+
showTopActionBanner
8990
showInterviewBanner={isJobSupportSlug(slug)}
9091
>
9192
<Article />

components/ContactCTA.tsx

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -85,23 +85,24 @@ export default function ContactCTA() {
8585
justify-content: center;
8686
margin-bottom: 2rem;
8787
}
88-
.contact-cta-btn-call {
88+
.contact-cta-btn-wa {
8989
display: inline-flex;
9090
align-items: center;
9191
gap: 0.5rem;
92-
background: #ffffff;
93-
color: var(--pts-on-accent);
92+
background: #25d366;
93+
color: #ffffff;
9494
padding: 0.85rem 1.75rem;
9595
border-radius: 50px;
96-
font-weight: 600;
96+
font-weight: 700;
9797
font-size: 0.95rem;
9898
text-decoration: none;
9999
border: none;
100-
transition: transform 0.2s, box-shadow 0.2s;
100+
transition: transform 0.2s, box-shadow 0.2s, filter 0.2s;
101101
}
102-
.contact-cta-btn-call:hover {
102+
.contact-cta-btn-wa:hover {
103103
transform: translateY(-2px);
104-
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
104+
box-shadow: 0 8px 28px rgba(37, 211, 102, 0.45);
105+
filter: brightness(1.05);
105106
}
106107
.contact-cta-btn-ghost {
107108
display: inline-flex;
@@ -168,19 +169,19 @@ export default function ContactCTA() {
168169
</p>
169170

170171
<div className="contact-cta-btns">
171-
<a href="tel:+919660614469" className="contact-cta-btn-call">
172-
<PhoneIcon color="var(--pts-on-accent)" />
173-
Call Now
174-
</a>
175172
<a
176173
href={WHATSAPP_ME_URL}
177174
target="_blank"
178175
rel="noopener noreferrer"
179-
className="contact-cta-btn-ghost"
176+
className="contact-cta-btn-wa"
180177
>
181178
<WhatsAppIcon color="#ffffff" />
182179
WhatsApp Now
183180
</a>
181+
<a href="tel:+919660614469" className="contact-cta-btn-ghost">
182+
<PhoneIcon color="#ffffff" />
183+
Call Now
184+
</a>
184185
<a href="mailto:support@proxytechsupport.com" className="contact-cta-btn-ghost">
185186
<MailIcon color="#ffffff" />
186187
Email Us

components/Footer.tsx

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import Link from 'next/link';
22
import SocialIcons from '@/components/SocialIcons';
3+
import { jobSupportLinks } from '@/data/navigation';
34

45
const locationLinks = [
56
{ label: 'Job Support USA', href: '/job-support-usa/' },
@@ -12,16 +13,6 @@ const locationLinks = [
1213
{ label: 'Job Support New Zealand', href: '/job-support-newzealand/' },
1314
];
1415

15-
const techLinks = [
16-
{ label: 'Java Job Support', href: '/java-job-support-usa/' },
17-
{ label: 'Node.js Job Support', href: '/nodejs-job-support-usa/' },
18-
{ label: 'DevOps Job Support', href: '/devops-job-support-usa/' },
19-
{ label: 'React Job Support', href: '/react-job-support/' },
20-
{ label: 'Python Job Support', href: '/python-job-support/' },
21-
{ label: 'AWS Job Support', href: '/aws-job-support/' },
22-
{ label: '.NET Job Support', href: '/dotnet-job-support/' },
23-
];
24-
2516
const serviceLinks = [
2617
{ label: 'Production Issue Support', href: '/production-issue-support/' },
2718
{ label: 'Struggling in Your IT Job?', href: '/struggling-in-job-developer-help/' },
@@ -173,7 +164,7 @@ export default function Footer() {
173164

174165
<div>
175166
<FooterHeading>Job Support by Technology</FooterHeading>
176-
<FooterLinks links={techLinks} />
167+
<FooterLinks links={jobSupportLinks} />
177168
</div>
178169

179170
<div>

components/LandingPageTemplate.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import WhatsAppFloat from '@/components/WhatsAppFloat';
66
import LandingFAQ from '@/components/LandingFAQ';
77
import ActionBanner from '@/components/ActionBanner';
88
import type { LandingPageConfig } from '@/data/landing-pages';
9+
import { jobSupportLinks } from '@/data/navigation';
910
import { WHATSAPP_ME_URL } from '@/lib/whatsapp';
1011

1112
// ─── Breadcrumb derivation ────────────────────────────────────────────────────
@@ -700,10 +701,7 @@ export default function LandingPageTemplate({ config }: Props) {
700701
{[
701702
{ label: 'Interview Questions', href: '/interviews/' },
702703
{ label: 'Agentic AI & RAG Support', href: '/agentic-ai-rag-mlops-job-support-usa/' },
703-
{ label: 'Java Job Support', href: '/java-technologies-job-support/' },
704-
{ label: 'DevOps Job Support', href: '/devops-job-support/' },
705-
{ label: 'React Job Support', href: '/react-job-support/' },
706-
{ label: 'AWS Job Support', href: '/aws-job-support/' },
704+
...jobSupportLinks,
707705
{ label: 'Proxy Interview Support', href: '/proxy-interview-support/' },
708706
{ label: 'Read Our Blog', href: '/blog/' },
709707
].map((l) => (

components/PostLayout.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ interface PostLayoutProps {
1717
/** Rich article body (preferred). */
1818
children?: ReactNode;
1919
date?: string;
20-
/** If true, shows an interview-specific monetization banner above the article. */
20+
/** Green ActionBanner above the title (same component as interview detail pages). */
21+
showTopActionBanner?: boolean;
22+
/** If true, shows the inline interview CTA block after the article instead of blog internal links. */
2123
showInterviewBanner?: boolean;
2224
/**
2325
* Interview listing pages use plain HTML Article components; wrap in the same card shell as blog posts.
@@ -89,9 +91,12 @@ function BlogInternalLinks() {
8991
</p>
9092
<div style={{ display: 'flex', flexWrap: 'wrap', gap: '0.5rem' }}>
9193
{[
92-
{ label: 'Java Job Support', href: '/java-job-support-usa/' },
93-
{ label: 'DevOps Job Support', href: '/devops-job-support-usa/' },
94+
{ label: 'AWS Job Support', href: '/aws-job-support/' },
95+
{ label: 'Python Job Support', href: '/python-job-support/' },
96+
{ label: 'React Job Support', href: '/react-job-support/' },
9497
{ label: 'Node.js Job Support', href: '/nodejs-job-support-usa/' },
98+
{ label: '.NET Job Support', href: '/dotnet-job-support/' },
99+
{ label: 'Java Job Support', href: '/java-job-support-usa/' },
95100
{ label: 'Interview Support', href: '/interview-support-global/' },
96101
{ label: 'Struggling in Job?', href: '/struggling-in-job-developer-help/' },
97102
].map((link) => (
@@ -123,10 +128,12 @@ export default function PostLayout({
123128
content,
124129
children,
125130
date,
131+
showTopActionBanner,
126132
showInterviewBanner,
127133
wrapWithBlogShell,
128134
breadcrumbs,
129135
}: PostLayoutProps) {
136+
const showExpertBanner = showTopActionBanner || showInterviewBanner;
130137
return (
131138
<>
132139
<TopBar />
@@ -147,7 +154,7 @@ export default function PostLayout({
147154
}}
148155
>
149156
<article>
150-
{showInterviewBanner && (
157+
{showExpertBanner && (
151158
<div className="post-layout-preface-banner">
152159
<ActionBanner />
153160
</div>

data/navigation.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
// ─── Technology job support links (existing — used in Navbar + Sidebar) ────
22

33
export const jobSupportLinks = [
4+
{ label: 'AI / Machine Learning & Data', href: '/ai-ml-job-support/' },
5+
{ label: 'DevOps & Automation', href: '/devops-job-support/' },
6+
{ label: 'Cloud Technologies', href: '/cloud-technologies-job-support/' },
7+
{ label: 'AWS Job Support', href: '/aws-job-support/' },
8+
{ label: 'Python Job Support', href: '/python-job-support/' },
49
{ label: 'Front-End / Full-Stack Development', href: '/frontend-fullstack-job-support/' },
10+
{ label: 'React Job Support', href: '/react-job-support/' },
511
{ label: 'Backend & Enterprise (.NET + Node)', href: '/backend-enterprise-job-support/' },
12+
{ label: 'Node.js Job Support', href: '/node-job-support/' },
13+
{ label: '.NET Job Support', href: '/dotnet-job-support/' },
614
{ label: 'Java Technology Stack', href: '/java-technologies-job-support/' },
15+
{ label: 'Cybersecurity & AppSec', href: '/cybersecurity-job-support/' },
716
{ label: 'Databases & Data Platforms', href: '/databases-data-platforms-job-support/' },
8-
{ label: 'Cloud Technologies', href: '/cloud-technologies-job-support/' },
9-
{ label: 'DevOps & Automation', href: '/devops-job-support/' },
1017
{ label: 'Testing & Quality Engineering', href: '/testing-quality-engineering-job-support/' },
11-
{ label: 'AI / Machine Learning & Data', href: '/ai-ml-job-support/' },
12-
{ label: 'Digital Analytics & Marketing Tech', href: '/digital-analytics-job-support/' },
13-
{ label: 'Cybersecurity & AppSec', href: '/cybersecurity-job-support/' },
14-
{ label: 'React Job Support', href: '/react-job-support/' },
1518
{ label: 'Angular Job Support', href: '/angular-job-support/' },
1619
{ label: 'React Native Job Support', href: '/react-native-job-support/' },
17-
{ label: 'Node.js Job Support', href: '/node-job-support/' },
18-
{ label: 'Python Job Support', href: '/python-job-support/' },
19-
{ label: 'AWS Job Support', href: '/aws-job-support/' },
20-
{ label: '.NET Job Support', href: '/dotnet-job-support/' },
20+
{ label: 'Digital Analytics & Marketing Tech', href: '/digital-analytics-job-support/' },
2121
];
2222

2323
// ─── Location links (new — used in Navbar Locations dropdown + Footer) ─────

data/technologies.ts

Lines changed: 76 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,46 @@ export type Technology = {
2020
};
2121

2222
export const technologies: Technology[] = [
23+
{
24+
id: 'ai',
25+
icon: 'cpu',
26+
title: 'AI / Machine Learning & Data',
27+
tags: [
28+
'AI Engineer',
29+
'Machine Learning',
30+
'Data Science',
31+
'Python',
32+
'Model Training & Deployment',
33+
'NLP / LLMs',
34+
'Predictive Analytics',
35+
],
36+
},
37+
{
38+
id: 'devops',
39+
icon: 'gear',
40+
title: 'DevOps & Automation',
41+
tags: [
42+
'Terraform',
43+
'Docker',
44+
'Kubernetes',
45+
'CI/CD Pipelines (GitHub Actions, Azure DevOps, GitLab CI)',
46+
'Kafka',
47+
'Infrastructure as Code (IaC)',
48+
'Monitoring & Logging (Prometheus, Grafana)',
49+
],
50+
},
51+
{
52+
id: 'cloud',
53+
icon: 'cloud',
54+
title: 'Cloud Technologies',
55+
tags: [
56+
'AWS',
57+
'Microsoft Azure',
58+
'Google Cloud Platform (GCP)',
59+
'Serverless (Lambda / Azure Functions / Cloud Functions)',
60+
'Cloud Architecture & Migration',
61+
],
62+
},
2363
{
2464
id: 'frontend',
2565
icon: 'code',
@@ -61,6 +101,42 @@ export const technologies: Technology[] = [
61101
'Microservices Architecture',
62102
],
63103
},
104+
{
105+
id: 'java',
106+
icon: 'java',
107+
title: 'Java Technology Stack',
108+
tags: [
109+
'Core Java (Java 8+)',
110+
'Spring',
111+
'Spring Boot',
112+
'Spring MVC',
113+
'Spring Security',
114+
'Spring Cloud',
115+
'Hibernate / JPA',
116+
'REST APIs',
117+
'Microservices Architecture',
118+
'Kafka / RabbitMQ',
119+
'Maven / Gradle',
120+
'JUnit / Mockito',
121+
'JDBC',
122+
'Docker (Java Apps)',
123+
'Kubernetes (Spring Boot)',
124+
'OAuth2 / JWT',
125+
],
126+
},
127+
{
128+
id: 'security',
129+
icon: 'shield',
130+
title: 'Cybersecurity & AppSec',
131+
tags: [
132+
'Application Security',
133+
'API Security',
134+
'OWASP Top 10',
135+
'Secure Code Review',
136+
'Vulnerability Assessment',
137+
'Cloud Security',
138+
],
139+
},
64140
{
65141
id: 'databases',
66142
icon: 'database',
@@ -77,32 +153,6 @@ export const technologies: Technology[] = [
77153
'Data Modeling & Optimization',
78154
],
79155
},
80-
{
81-
id: 'cloud',
82-
icon: 'cloud',
83-
title: 'Cloud Technologies',
84-
tags: [
85-
'AWS',
86-
'Microsoft Azure',
87-
'Google Cloud Platform (GCP)',
88-
'Serverless (Lambda / Azure Functions / Cloud Functions)',
89-
'Cloud Architecture & Migration',
90-
],
91-
},
92-
{
93-
id: 'devops',
94-
icon: 'gear',
95-
title: 'DevOps & Automation',
96-
tags: [
97-
'Terraform',
98-
'Docker',
99-
'Kubernetes',
100-
'CI/CD Pipelines (GitHub Actions, Azure DevOps, GitLab CI)',
101-
'Kafka',
102-
'Infrastructure as Code (IaC)',
103-
'Monitoring & Logging (Prometheus, Grafana)',
104-
],
105-
},
106156
{
107157
id: 'testing',
108158
icon: 'test',
@@ -119,20 +169,6 @@ export const technologies: Technology[] = [
119169
'API Automation',
120170
],
121171
},
122-
{
123-
id: 'ai',
124-
icon: 'cpu',
125-
title: 'AI / Machine Learning & Data',
126-
tags: [
127-
'AI Engineer',
128-
'Machine Learning',
129-
'Data Science',
130-
'Python',
131-
'Model Training & Deployment',
132-
'NLP / LLMs',
133-
'Predictive Analytics',
134-
],
135-
},
136172
{
137173
id: 'analytics',
138174
icon: 'chart',
@@ -145,19 +181,6 @@ export const technologies: Technology[] = [
145181
'Performance Monitoring',
146182
],
147183
},
148-
{
149-
id: 'security',
150-
icon: 'shield',
151-
title: 'Cybersecurity & AppSec',
152-
tags: [
153-
'Application Security',
154-
'API Security',
155-
'OWASP Top 10',
156-
'Secure Code Review',
157-
'Vulnerability Assessment',
158-
'Cloud Security',
159-
],
160-
},
161184
{
162185
id: 'crm',
163186
icon: 'crm',
@@ -173,27 +196,4 @@ export const technologies: Technology[] = [
173196
'Custom CRM Solutions',
174197
],
175198
},
176-
{
177-
id: 'java',
178-
icon: 'java',
179-
title: 'Java Technology Stack',
180-
tags: [
181-
'Core Java (Java 8+)',
182-
'Spring',
183-
'Spring Boot',
184-
'Spring MVC',
185-
'Spring Security',
186-
'Spring Cloud',
187-
'Hibernate / JPA',
188-
'REST APIs',
189-
'Microservices Architecture',
190-
'Kafka / RabbitMQ',
191-
'Maven / Gradle',
192-
'JUnit / Mockito',
193-
'JDBC',
194-
'Docker (Java Apps)',
195-
'Kubernetes (Spring Boot)',
196-
'OAuth2 / JWT',
197-
],
198-
},
199199
];

0 commit comments

Comments
 (0)