refactor: update branding from HarifSport to FortuneBets across the application
This commit is contained in:
parent
1a1361ee7f
commit
7d994e253b
|
|
@ -128,7 +128,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
/* HarifSport odds button animation */
|
||||
/* FortuneBets odds button animation */
|
||||
@keyframes odds-flash {
|
||||
0% {
|
||||
background-color: oklch(0.55 0.18 145);
|
||||
|
|
|
|||
|
|
@ -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({
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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 },
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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 */}
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user