3 Commits

10 changed files with 16 additions and 97 deletions

View File

@ -15,8 +15,6 @@ import {
FaUserCheck,
FaProjectDiagram,
} from "react-icons/fa";
import { Metadata } from "next";
// const leadershipTeam = [
// {
@ -44,23 +42,6 @@ import { Metadata } from "next";
// linkedinUrl: "#",
// },
// ];
export const metadata: Metadata = {
title: "About Us | Owethu Managed Services (OMS)",
description: "Learn about OMS, our mission, vision, and the values that drive us to deliver exceptional IT solutions and services.",
keywords: [
"Owethu Managed Services",
"About OMS",
"OMS",
"Black-owned ",
"Women-owned",
"Tech company",
"bank statement reader",
"fintech solutions" ,
],
}
const coreValues = [
{

View File

@ -12,7 +12,6 @@ import {
import { COLORS } from "@/constants"; // Using COLORS constant
import ContactForm from "@/components/ContactForm";
// Define the structure for FAQ items
interface FAQItem {
id: number;

View File

@ -29,7 +29,6 @@ export const metadata: Metadata = {
"fintech solutions",
"IT consulting",
"OMS",
"CVEvolve",
"Owethu Managed Services",
"Centurion",
"Gauteng",

View File

@ -14,7 +14,6 @@ import FeaturedProductSection, {
} from "./_components/FeaturedProductSection";
import { getHome } from "@/lib/query/home";
export default async function HomePage() {
// Explicitly type the data variable, assuming getHome returns HeroSectionType or null/undefined
const data = await getHome();

View File

@ -8,7 +8,6 @@ export const metadata: Metadata = {
description:
"Our recruitment portal is currently under development. Stay tuned for updates on career opportunities at Owethu Managed Services.",
robots: "noindex, nofollow", // Prevent indexing of the coming soon page
};
export default function RecruitmentPortalPage() {

View File

@ -25,8 +25,6 @@ export const metadata: Metadata = {
"IT resource augmentation",
"managed IT services",
"OBSE",
"CVEvolve",
"bank statement extractor",
"bank statement automation",
"fintech solutions",
"IT consulting",

View File

@ -11,7 +11,6 @@ export const metadata: Metadata = {
alternates: {
canonical: "/tech-talk",
},
openGraph: {
title: "OMS TechTalk | Insights & Innovation",
description: "Stay updated with tech insights from OMS.",

View File

@ -4,6 +4,7 @@ import "./globals.css";
import Header from "@/components/Header";
import Footer from "@/components/Footer";
import { ThemeProvider } from "@/providers/theme-provider";
import Script from "next/script";
const poppins = Poppins({
subsets: ["latin"],
@ -19,7 +20,6 @@ export const metadata: Metadata = {
"Owethu Managed Services (OMS) provides expert IT solutions in Centurion & South Africa, including resource augmentation, project management, custom software development, and the OBSE financial analysis tool.", // Include Keywords, Location, USP
keywords: [
"Owethu Managed Services",
"OMS",
"OBSE",
"IT solutions South Africa",
"resource augmentation",
@ -28,7 +28,6 @@ export const metadata: Metadata = {
"OBSE",
"financial data analysis",
"IT services Centurion",
"digital transformation",
], // Add relevant keywords
alternates: {
canonical: "/", // Assuming this is the root URL
@ -97,6 +96,14 @@ export default function RootLayout({
<main>{children}</main>
<Footer />
</ThemeProvider>
<Script
src="https://umami.obse.africa/script.js"
data-website-id={
process.env.NEXT_PUBLIC_UMAMI_WEB_ID ||
"d9f0e4d7-0f0a-45e4-91bf-62e0e65e25d2"
}
strategy="afterInteractive"
/>
</body>
</html>
);

View File

@ -1,10 +1,9 @@
// components/Footer.tsx
import React from "react";
import Link from "next/link";
import { FaLinkedin, FaInstagram, FaYoutube } from "react-icons/fa";
import { FaLinkedin, FaInstagram } from "react-icons/fa";
import Image from "next/image";
const omsLogoUrl = "/oms-logo.svg"; // Ensure this exists in /public
// const omsLogoDarkUrl = "/oms-logo-dark.svg"; // Optional dark mode logo
@ -128,7 +127,7 @@ const Footer = () => {
{/* Social Icons - Use muted bright color, primary on hover */}
<div className="flex space-x-4 mt-4">
<a
href="https://www.linkedin.com/company/owethu-managed-services-oms"
href="https://linkedin.com"
target="_blank"
rel="noopener noreferrer"
className="text-[var(--oms-white)]/70 hover:text-primary transition-colors"
@ -136,9 +135,8 @@ const Footer = () => {
>
<FaLinkedin size={24} />
</a>
<a
href="https://www.instagram.com/owethumanagedservices_oms"
href="https://instagram.com"
target="_blank"
rel="noopener noreferrer"
className="text-[var(--oms-white)]/70 hover:text-primary transition-colors"
@ -146,17 +144,6 @@ const Footer = () => {
>
<FaInstagram size={24} />
</a>
<a
href="https://www.youtube.com/@OwethuManagedServices-africa"
target="_blank"
rel="noopener noreferrer"
className="text-[var(--oms-white)]/70 hover:text-primary transition-colors"
aria-label="YouTube"
>
<FaYoutube size={24} />
</a>
</div>
</div>
@ -236,8 +223,6 @@ const Footer = () => {
>
Privacy Policy
</Link> */}
<a
href="/Privacy-Policy/Recruitment-Privacy-Policy.pdf"
className="hover:text-primary transition-colors"
@ -251,7 +236,6 @@ const Footer = () => {
PAIA & POPIA
</a>
</div>
</div>
</div>
</footer>

View File

@ -13,7 +13,6 @@ import {
FiUsers,
FiCpu,
FiBox,
FiLayers
} from "react-icons/fi";
import ThemeToggle from "./ThemeToggle";
@ -266,16 +265,15 @@ const HeaderClient = () => {
</div>
</div>
</div>
{/* Products */}
<div
className={`group ${isActive("/products") ? "active" : ""}`} // Add active class to group
className={`group ${isActive("/obse") ? "active" : ""}`} // Add active class to group
onMouseEnter={handleProductsMouseEnter}
onMouseLeave={handleProductsMouseLeave}
>
<button
className={`${megaMenuTriggerClasses} ${
isActive("/products") ? "after:w-full" : ""
isActive("/obse") ? "after:w-full" : ""
}`}
>
{" "}
@ -285,7 +283,7 @@ const HeaderClient = () => {
</button>
<div
className={`
absolute left-0 top-full w-full shadow-lg z-40
absolute left-0 top-full w-full shadow-lg z-1000
bg-card border-x border-b border-border rounded-b-lg
opacity-0 invisible translate-y-[-10px]
${
@ -297,7 +295,7 @@ const HeaderClient = () => {
`}
>
<div className="container mx-auto px-4 sm:px-6 lg:px-8 py-5">
<div className="grid grid-cols-1 md:grid-cols-2 gap-x-8 gap-y-6 max-w-xl">
<div className="max-w-md">
<Link
href="/obse"
className={`${megaMenuItemClasses} ${
@ -309,44 +307,7 @@ const HeaderClient = () => {
<FiBox className={megaMenuIconClasses} />
<div className={megaMenuTextWrapperClasses}>
<p className={megaMenuTitleClasses}>
OBSE Platform
</p>
</div>
</Link>
{/* Add more service links here
<Link
href="/services/project-management"
className={`${megaMenuItemClasses} ${
isActive("/services/project-management")
? "text-primary"
: ""
}`} // Apply active class
>
<FiBriefcase className={megaMenuIconClasses} />
<div className={megaMenuTextWrapperClasses}>
<p className={megaMenuTitleClasses}>
Project Management
</p>
</div>
</Link>
*/}
<Link
href="https://cvevolve.com/"
target="_blank"
className={`${megaMenuItemClasses} ${
isActive("/obse") ? "text-primary" : ""
}`}
>
{" "}
{/* Apply active class */}
<FiLayers className={megaMenuIconClasses} />
<div className={megaMenuTextWrapperClasses}>
<p className={megaMenuTitleClasses}>
CVEvolve
</p>
</div>
</Link>
@ -354,8 +315,6 @@ const HeaderClient = () => {
</div>
</div>
</div>
{/* Join Our Team */}
@ -466,11 +425,6 @@ const HeaderClient = () => {
OBSE
</DropdownLink>
{/* small screen investigation */}
<DropdownLink href="https://cvevolve.com" onClick={handleMobileLinkClick}>
CVEvolve
</DropdownLink>
{/* <span className="pt-3 pb-1 text-xs uppercase text-muted-foreground">
Join Us
</span>