refactor: update branding from HarifSport to FortuneBets across the application

This commit is contained in:
brooktewabe 2026-03-02 19:28:32 +03:00
parent 1a1361ee7f
commit 7d994e253b
10 changed files with 33 additions and 33 deletions

View File

@ -128,7 +128,7 @@
}
}
/* HarifSport odds button animation */
/* FortuneBets odds button animation */
@keyframes odds-flash {
0% {
background-color: oklch(0.55 0.18 145);

View File

@ -14,8 +14,8 @@ const geistMono = Geist_Mono({
})
export const metadata: Metadata = {
title: "Harifsport - Sports Betting",
description: "Harifsport sportsbook - Live betting, in-play events, and more",
title: "Fortune Bets - Sports Betting",
description: "Fortune Bets sportsbook - Ethiopian online casiono, sports betting, in-play events, and more",
}
export default function RootLayout({

View File

@ -41,15 +41,15 @@ export default function LoginPage() {
/>
))}
</div>
{/* HARIF box */}
{/* FORTUNE box */}
<div className="bg-brand-accent px-3 py-1 -skew-x-12 flex items-center h-[38px]">
<span className="text-2xl font-black text-white italic tracking-tighter skew-x-12 inline-block leading-none">
HARIF
FORTUNE
</span>
</div>
{/* SPORT text */}
{/* BETS text */}
<span className="text-2xl font-black text-brand-primary italic tracking-tighter ml-1 leading-none">
SPORT
BETS
</span>
</div>
</div>

View File

@ -43,15 +43,15 @@ export default function RegisterPage() {
/>
))}
</div>
{/* HARIF box */}
{/* FORTUNE box */}
<div className="bg-brand-accent px-3 py-1 -skew-x-12 flex items-center h-[38px]">
<span className="text-2xl font-black text-white italic tracking-tighter skew-x-12 inline-block leading-none">
HARIF
FORTUNE
</span>
</div>
{/* SPORT text */}
{/* BETS text */}
<span className="text-2xl font-black text-brand-primary italic tracking-tighter ml-1 leading-none">
SPORT
BETS
</span>
</div>
</div>

View File

@ -1,7 +1,7 @@
const rules = [
{
title: "General Betting Rules",
content: "All bets are subject to Harifsport terms and conditions. By placing a bet, you agree to abide by these rules. The minimum bet amount is 5 ETB and the maximum payout is 500,000 ETB per bet.",
content: "All bets are subject to Fortune's terms and conditions. By placing a bet, you agree to abide by these rules. The minimum bet amount is 5 ETB and the maximum payout is 500,000 ETB per bet.",
},
{
title: "Live Betting",
@ -13,7 +13,7 @@ const rules = [
},
{
title: "Responsible Gambling",
content: "Harifsport is committed to responsible gambling. Users may set deposit limits, loss limits, or self-exclude at any time. Gambling should be entertaining, not a source of income.",
content: "Fortune's is committed to responsible gambling. Users may set deposit limits, loss limits, or self-exclude at any time. Gambling should be entertaining, not a source of income.",
},
{
title: "Account Rules",

View File

@ -9,7 +9,7 @@ export type GameCategory =
| "favourite"
| "recently-played"
| "most-popular"
| "harif-special"
| "fortune-special"
| "for-you"
| "slots"
| "crash-games"
@ -30,7 +30,7 @@ const categories = [
{ id: "favourite", name: "Favourite", icon: Heart },
{ id: "recently-played", name: "Recently Played", icon: Clock },
{ id: "most-popular", name: "Most Popular", icon: Star },
{ id: "harif-special", name: "Harif Special", icon: Zap },
{ id: "fortune-special", name: "Fortune Special", icon: Star },
{ id: "for-you", name: "For You", icon: Star },
{ id: "slots", name: "Slots", icon: Star },
{ id: "crash-games", name: "Crash Games", icon: Star },

View File

@ -14,15 +14,15 @@ function Logo() {
<div key={i} className="w-[5px] h-[38px] bg-[#cc2222] -skew-x-12" />
))}
</div>
{/* HARIF box */}
{/* FORTUNE box */}
<div className="bg-brand-accent px-3 py-1 -skew-x-12 flex items-center h-[38px]">
<span className="text-2xl font-black text-white italic tracking-tighter skew-x-12 inline-block leading-none">
HARIF
FORTUNE
</span>
</div>
{/* SPORT text */}
{/* BETS text */}
<span className="text-2xl font-black text-brand-primary italic tracking-tighter ml-1 leading-none">
SPORT
BETS
</span>
</div>
)

View File

@ -54,9 +54,9 @@ export function SiteFooter() {
<div className="flex flex-col items-center justify-center py-16 border-t border-white/5 mt-12 bg-brand-surface-light">
<div className="flex items-center bg-brand-surface px-5 py-2">
<div className="bg-brand-accent px-3 py-1 -skew-x-12">
<span className="text-3xl font-black text-white italic tracking-tighter skew-x-12 inline-block">HARIF</span>
<span className="text-3xl font-black text-white italic tracking-tighter skew-x-12 inline-block">FORTUNE</span>
</div>
<span className="text-3xl font-black text-brand-primary italic tracking-tighter ml-1">SPORT</span>
<span className="text-3xl font-black text-brand-primary italic tracking-tighter ml-1">BETS</span>
</div>
{/* Footer Links */}

View File

@ -9,7 +9,7 @@ import { Input } from "@/components/ui/input"
import Image from "next/image"
const allNavItems = [
{ href: "/", label: "ALL SPORTS" },
{ href: "/", label: "ALL BETSS" },
{ href: "/live", label: "LIVE" },
{ href: "/virtual", label: "VIRTUAL" },
{ href: "/special-games", label: "SPECIAL Games" },
@ -21,7 +21,7 @@ const allNavItems = [
]
const drawerLinks = [
{ href: "/", label: "All Sports" },
{ href: "/", label: "All BETSs" },
{ href: "/live", label: "Live Betting" },
{ href: "/virtual", label: "Virtual" },
{ href: "/special-games", label: "Special Games" },
@ -118,9 +118,9 @@ export function SiteHeader({ onLoginClick, onRegisterClick }: SiteHeaderProps) {
<Link href="/" className="flex-1 flex items-center justify-center">
<div className="flex items-center">
<div className="bg-brand-accent px-2 py-0.5 -skew-x-12 flex items-center h-[28px]">
<span className="text-xl font-black text-white italic tracking-tighter skew-x-12 leading-none">HARIF</span>
<span className="text-xl font-black text-white italic tracking-tighter skew-x-12 leading-none">FORTUNE</span>
</div>
<span className="text-xl font-black text-brand-primary italic tracking-tighter ml-1 leading-none">SPORT</span>
<span className="text-xl font-black text-brand-primary italic tracking-tighter ml-1 leading-none">BETS</span>
</div>
</Link>
@ -146,9 +146,9 @@ export function SiteHeader({ onLoginClick, onRegisterClick }: SiteHeaderProps) {
<Link href="/" className="flex items-center shrink-0">
<div className="flex items-center bg-brand-surface h-[60px] px-4 w-[280px] shrink-0 border-r border-white/5">
<div className="bg-brand-accent px-3 py-1 -skew-x-12 flex items-center h-[34px]">
<span className="text-2xl font-black text-white italic tracking-tighter skew-x-12 inline-block leading-none">HARIF</span>
<span className="text-2xl font-black text-white italic tracking-tighter skew-x-12 inline-block leading-none">FORTUNE</span>
</div>
<span className="text-2xl font-black text-brand-primary italic tracking-tighter ml-1 leading-none">SPORT</span>
<span className="text-2xl font-black text-brand-primary italic tracking-tighter ml-1 leading-none">BETS</span>
</div>
</Link>
<div className="flex items-center flex-1 justify-end px-4 h-full gap-0 bg-brand-surface">
@ -232,7 +232,7 @@ export function SiteHeader({ onLoginClick, onRegisterClick }: SiteHeaderProps) {
})}
</div>
{/* ===== MOBILE: Sport Category Icons Row ===== */}
{/* ===== MOBILE: BETS Category Icons Row ===== */}
<div className="flex md:hidden overflow-x-auto scrollbar-none bg-brand-surface-light border-t border-white/5 py-2 px-2 gap-4">
{[
{ label: "Check Bet", icon: (active: boolean) => <svg viewBox="0 0 24 24" className="size-5 fill-white/80"><path d="M20 4H4c-1.11 0-2 .89-2 2v12c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z"/></svg>, count: 99 },
@ -255,7 +255,7 @@ export function SiteHeader({ onLoginClick, onRegisterClick }: SiteHeaderProps) {
{pathname !== "/virtual" && pathname !== "/special-games" && (
<div className="hidden md:flex bg-brand-surface-light border-t border-white/5 h-8 px-3 items-center gap-6 text-[11px]">
{[
{ label: "Sport Home", href: "/" },
{ label: "BETS Home", href: "/" },
{ label: "Live View", href: "/live", forceActive: isLivePage },
].map((tab) => {
const isActive = tab.forceActive || pathname === tab.href
@ -267,7 +267,7 @@ export function SiteHeader({ onLoginClick, onRegisterClick }: SiteHeaderProps) {
)}
>
{tab.label}
{isActive && tab.label !== "Sport Home" && (
{isActive && tab.label !== "BETS Home" && (
<div className="absolute bottom-0 left-0 right-0 h-[2px] bg-brand-primary" />
)}
</Link>
@ -288,9 +288,9 @@ export function SiteHeader({ onLoginClick, onRegisterClick }: SiteHeaderProps) {
<div className="flex items-center justify-between px-4 py-3 bg-brand-surface border-b border-white/10">
<div className="flex items-center">
<div className="bg-brand-accent px-2 py-0.5 -skew-x-12 flex items-center h-[24px]">
<span className="text-base font-black text-white italic tracking-tighter skew-x-12 leading-none">HARIF</span>
<span className="text-base font-black text-white italic tracking-tighter skew-x-12 leading-none">FORTUNE</span>
</div>
<span className="text-base font-black text-brand-primary italic tracking-tighter ml-1 leading-none">SPORT</span>
<span className="text-base font-black text-brand-primary italic tracking-tighter ml-1 leading-none">BETS</span>
</div>
<button onClick={() => setDrawerOpen(false)} className="text-white/60 hover:text-white text-2xl leading-none">×</button>
</div>

View File

@ -35,7 +35,7 @@ export type {
TabColumnCell,
} from "./betting-types"
const BASE_URL = (process.env.NEXT_PUBLIC_BETTING_API_BASE_URL || "http://localhost:8080/api/v1").replace(/\/$/, "")
const BASE_URL = (process.env.NEXT_PUBLIC_BETTING_API_BASE_URL || "http://localhost:8080").replace(/\/$/, "")
const TENANT_SLUG = process.env.NEXT_PUBLIC_TENANT_SLUG || "fortunebets"
const DEFAULT_PAGE_SIZE = 20