Skip to content

Commit 3584fa8

Browse files
feat: Integrate SVG logo and favicon
Integrate the provided SVG code as the logo on the landing page and as the favicon.
1 parent b116220 commit 3584fa8

File tree

5 files changed

+107
-8
lines changed

5 files changed

+107
-8
lines changed

index.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@
1212
<!-- Canonical URL -->
1313
<link rel="canonical" href="https://refspring.com" />
1414

15-
<!-- Favicon optimisé -->
16-
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
15+
<!-- Favicon optimisé avec votre logo -->
16+
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
17+
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
1718
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
1819
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
1920
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />

public/favicon.svg

Lines changed: 25 additions & 0 deletions
Loading

src/components/DashboardHeader.tsx

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Button } from '@/components/ui/button';
33
import { LogOut, Menu } from 'lucide-react';
44
import { Link } from 'react-router-dom';
55
import { useState } from 'react';
6+
import { RefSpringLogo } from '@/components/RefSpringLogo';
67

78
interface DashboardHeaderProps {
89
user: any;
@@ -18,10 +19,15 @@ export const DashboardHeader = ({ user, onLogout }: DashboardHeaderProps) => {
1819
<div className="flex justify-between items-center h-16">
1920
{/* Logo */}
2021
<Link to="/landing" className="animate-fade-in hover:opacity-80 transition-opacity flex-shrink-0">
21-
<h1 className="text-2xl sm:text-3xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent">
22-
RefSpring
23-
</h1>
24-
<p className="text-xs sm:text-sm text-slate-600 font-medium">Dashboard</p>
22+
<div className="flex items-center gap-3">
23+
<RefSpringLogo width="32" height="32" />
24+
<div>
25+
<h1 className="text-2xl sm:text-3xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent">
26+
RefSpring
27+
</h1>
28+
<p className="text-xs sm:text-sm text-slate-600 font-medium">Dashboard</p>
29+
</div>
30+
</div>
2531
</Link>
2632

2733
{/* Desktop Navigation */}

src/components/RefSpringLogo.tsx

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
2+
interface RefSpringLogoProps {
3+
className?: string;
4+
width?: string;
5+
height?: string;
6+
}
7+
8+
export const RefSpringLogo = ({
9+
className = "",
10+
width = "40",
11+
height = "40"
12+
}: RefSpringLogoProps) => {
13+
return (
14+
<svg
15+
width={width}
16+
height={height}
17+
viewBox="0 0 1500 1500"
18+
version="1.1"
19+
xmlns="http://www.w3.org/2000/svg"
20+
xmlnsXlink="http://www.w3.org/1999/xlink"
21+
xmlSpace="preserve"
22+
className={className}
23+
style={{ fillRule: "evenodd", clipRule: "evenodd", strokeLinejoin: "round", strokeMiterlimit: 2 }}
24+
>
25+
<g transform="matrix(1.12392,1.75099,-2.20634,1.4162,579.409,-2858.99)">
26+
<path d="M1319.81,549.2C1319.01,575.53 1319.3,622.807 1328.4,667.291C1332.73,688.46 1339.03,708.994 1348.44,726.049C1356.31,740.324 1365.98,752.146 1379.62,758.303C1388.74,762.419 1399.07,762.755 1409.9,760.767C1399.3,721.364 1408.09,675.462 1427.93,640.727C1455.4,592.614 1504.28,567.995 1550.05,588.654C1575.36,600.077 1586.44,618.85 1585.78,641.604C1585.25,659.776 1576.42,681.011 1561.46,701.871C1539.59,732.35 1504.74,762.125 1468.33,780.243C1475.4,789.792 1485.05,797.914 1497.87,803.699C1515.43,811.628 1532.63,814.831 1548.93,814.528C1547.56,808.024 1547.07,801.195 1547.41,794.159C1548.61,769.05 1560.46,741.106 1577.06,718.25C1592.18,697.447 1611.4,680.994 1629.3,673.257C1647.3,665.469 1664.9,665.15 1680,671.968C1709.48,685.276 1719.18,714.064 1707.49,746.778C1696.09,778.713 1664.47,813.695 1621.94,834.104C1625.65,835.026 1629.76,835.707 1634.28,836.148C1666.45,839.294 1714.28,830.724 1783.55,805.802C1795.26,801.59 1809.07,805.714 1814.38,815.005C1819.69,824.296 1814.49,835.258 1802.78,839.47C1722.22,868.452 1666,876.495 1628.58,872.836C1601.35,870.174 1582.31,861.69 1569.38,850.069C1539.84,854.146 1507.67,850.65 1474.84,835.831C1453.15,826.042 1436.99,812.089 1425.73,795.558C1400.95,800.925 1377.04,799.664 1356.59,790.435C1325.77,776.522 1304.27,745.739 1291.7,708.27C1273.34,653.488 1272.32,584.574 1273.28,549.221C1243.87,548.346 1218.93,545.733 1215.77,541.354C1208.01,530.594 1279.25,436.259 1292,435.46C1304.84,434.655 1384.07,532.867 1377.6,541.354C1374.31,545.673 1349.27,548.298 1319.81,549.2ZM1594.21,804.47C1619.32,793.574 1639.75,775.251 1652.35,756.594C1660.91,743.925 1666.05,731 1665.83,719.882C1665.7,713.17 1663.75,707.159 1656.97,704.1C1655.88,703.609 1654.81,704.508 1653.52,704.956C1651.3,705.729 1649.08,706.838 1646.82,708.17C1636.38,714.335 1626.17,724.66 1617.41,736.715C1602.56,757.164 1591.85,782.743 1594.18,804.187L1594.21,804.47ZM1453.4,743.77C1480.04,728.621 1504.73,706.229 1520.98,683.582C1531.67,668.679 1538.83,653.733 1539.21,640.751C1539.45,632.347 1536.37,625.005 1527.02,620.786C1518.23,616.817 1509.56,618.085 1501.73,622.304C1489.28,629.013 1478.75,641.282 1470.35,655.984C1455.85,681.393 1448.31,714.184 1453.4,743.77Z" style={{ fill: "url(#_Linear1)" }} />
27+
</g>
28+
<g transform="matrix(1.12392,1.75099,-2.20634,1.4162,579.436,-2858.99)">
29+
<path d="M1594.21,804.47C1594.21,804.47 1565.69,814.382 1548.93,814.525C1547.56,808.022 1547.07,801.194 1547.41,794.159C1547.96,782.639 1550.75,770.522 1555.22,758.574L1604.9,757.257C1597.11,772.854 1592.58,789.492 1594.18,804.187L1594.21,804.47Z" style={{ fill: "url(#_Linear2)" }} />
30+
</g>
31+
<g transform="matrix(1.12392,1.75099,-2.20634,1.4162,579.41,-2858.99)">
32+
<path d="M1409.88,760.77C1409.64,760.826 1409.4,760.869 1409.16,760.899C1409.4,760.857 1409.64,760.814 1409.88,760.77ZM1453.41,743.763L1453.41,743.764C1453.41,743.764 1436.69,754.612 1409.9,760.767C1403.62,737.421 1404.14,711.794 1409.74,687.56L1458.43,683.306C1452.24,702.785 1450,723.994 1453.4,743.77C1453.4,743.768 1453.4,743.766 1453.41,743.763Z" style={{ fill: "url(#_Linear3)" }} />
33+
</g>
34+
<g transform="matrix(1.12392,1.75099,-2.20634,1.4162,579.421,-2858.99)">
35+
<path d="M1569.38,850.076C1570.69,849.917 1595.49,846.767 1621.92,834.107C1622.1,834.023 1622.27,833.94 1622.45,833.858C1622.28,833.94 1622.11,834.022 1621.94,834.104C1625.65,835.026 1629.76,835.707 1634.28,836.148C1644.88,837.185 1657.18,836.949 1671.4,835.275L1655.99,873.457C1645.91,873.879 1636.79,873.639 1628.58,872.836C1601.36,870.175 1582.32,861.693 1569.38,850.076Z" style={{ fill: "url(#_Linear4)" }} />
36+
</g>
37+
<g transform="matrix(1.12392,1.75099,-2.20634,1.4162,579.392,-2859)">
38+
<path d="M1425.53,795.6C1433,793.824 1449.1,789.317 1469.32,779.707C1469.6,779.574 1469.88,779.446 1470.15,779.323C1469.55,779.633 1468.94,779.94 1468.33,780.243C1475.4,789.792 1485.05,797.914 1497.87,803.699C1500.66,804.962 1503.45,806.105 1506.23,807.133L1467.83,832.423C1449.63,822.916 1435.74,810.256 1425.73,795.558C1425.66,795.572 1425.6,795.586 1425.53,795.6Z" style={{ fill: "url(#_Linear5)" }} />
39+
</g>
40+
<defs>
41+
<linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(161.829,0,0,250.971,1215.77,415.869)">
42+
<stop offset="0" style={{ stopColor: "rgb(74,85,238)", stopOpacity: 1 }} />
43+
<stop offset="1" style={{ stopColor: "rgb(105,64,240)", stopOpacity: 1 }} />
44+
</linearGradient>
45+
<linearGradient id="_Linear2" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(8.46837,-46.5524,58.6585,6.72064,1567.63,809.464)">
46+
<stop offset="0" style={{ stopColor: "rgb(76,25,188)", stopOpacity: 0.35 }} />
47+
<stop offset="1" style={{ stopColor: "rgb(105,64,240)", stopOpacity: 0 }} />
48+
</linearGradient>
49+
<linearGradient id="_Linear3" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-0.119427,-47.6028,59.9821,-0.0947794,1426.55,749.405)">
50+
<stop offset="0" style={{ stopColor: "rgb(86,14,213)", stopOpacity: 0.3 }} />
51+
<stop offset="1" style={{ stopColor: "rgb(105,64,240)", stopOpacity: 0 }} />
52+
</linearGradient>
53+
<linearGradient id="_Linear4" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(23.7925,22.562,-28.4293,18.8821,1608.12,844.283)">
54+
<stop offset="0" style={{ stopColor: "rgb(67,14,173)", stopOpacity: 0.77 }} />
55+
<stop offset="1" style={{ stopColor: "rgb(105,64,240)", stopOpacity: 0 }} />
56+
</linearGradient>
57+
<linearGradient id="_Linear5" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(32.825,32.5494,-41.014,26.0505,1448.47,789.558)">
58+
<stop offset="0" style={{ stopColor: "rgb(86,14,213)", stopOpacity: 1 }} />
59+
<stop offset="1" style={{ stopColor: "rgb(86,14,213)", stopOpacity: 0 }} />
60+
</linearGradient>
61+
</defs>
62+
</svg>
63+
);
64+
};

src/pages/LandingPage.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
12
import { Button } from "@/components/ui/button";
23
import { ArrowRight, Zap, Users, BarChart3, Shield, CheckCircle, Star, TrendingUp, DollarSign, Clock, Globe, Award } from "lucide-react";
34
import { useEffect, useState } from "react";
45
import { Helmet } from "react-helmet-async";
6+
import { RefSpringLogo } from "@/components/RefSpringLogo";
57

68
const LandingPage = () => {
79
const [scrollY, setScrollY] = useState(0);
@@ -119,8 +121,9 @@ const LandingPage = () => {
119121
<header className="fixed top-0 w-full border-b border-slate-200/80 bg-white/90 backdrop-blur-xl z-50 transition-all">
120122
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
121123
<div className="flex justify-between items-center h-16">
122-
<div className="font-bold text-2xl text-slate-900 animate-fade-in">
123-
RefSpring
124+
<div className="flex items-center gap-3 animate-fade-in">
125+
<RefSpringLogo width="32" height="32" />
126+
<div className="font-bold text-2xl text-slate-900">RefSpring</div>
124127
</div>
125128
<nav className="hidden md:flex space-x-8" role="navigation" aria-label="Navigation principale">
126129
<a href="#features" className="text-slate-600 hover:text-slate-900 font-medium transition-all hover:scale-105">

0 commit comments

Comments
 (0)