diff --git a/src/App.css b/src/App.css
index ffa6e24..1b2d9fa 100644
--- a/src/App.css
+++ b/src/App.css
@@ -14,4 +14,33 @@ body, html {
width: 100%;
height: 100%;
overflow-x: hidden;
+}
+
+/* Custom animations */
+@keyframes fadeIn {
+ from { opacity: 0; transform: translateY(-10px); }
+ to { opacity: 1; transform: translateY(0); }
+}
+
+.animate-fadeIn {
+ animation: fadeIn 0.3s ease-in-out forwards;
+}
+
+/* Custom scrollbar for search results */
+.custom-scrollbar::-webkit-scrollbar {
+ width: 6px;
+}
+
+.custom-scrollbar::-webkit-scrollbar-track {
+ background: #f1f1f1;
+ border-radius: 10px;
+}
+
+.custom-scrollbar::-webkit-scrollbar-thumb {
+ background: #888;
+ border-radius: 10px;
+}
+
+.custom-scrollbar::-webkit-scrollbar-thumb:hover {
+ background: #555;
}
\ No newline at end of file
diff --git a/src/App.tsx b/src/App.tsx
index 1cf4c21..b0452da 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -22,12 +22,14 @@ function App() {
return (
-
diff --git a/src/api/apiModels.ts b/src/api/apiModels.ts
index 6855325..f6c9f7b 100644
--- a/src/api/apiModels.ts
+++ b/src/api/apiModels.ts
@@ -12,6 +12,7 @@ export interface Candidate {
estadoCivil: string;
sexo: string;
ocupacao: string;
+ apelido: string;
fotoUrl: string;
}
diff --git a/src/components/HeroSection.tsx b/src/components/HeroSection.tsx
index 250cfa0..309e1d1 100644
--- a/src/components/HeroSection.tsx
+++ b/src/components/HeroSection.tsx
@@ -4,11 +4,11 @@ import SearchBar from './SearchBar';
const HeroSection: React.FC = () => {
return (
-
+
Explore Dados Eleitorais
diff --git a/src/components/NavButton.tsx b/src/components/NavButton.tsx
index a99f1b5..04947d0 100644
--- a/src/components/NavButton.tsx
+++ b/src/components/NavButton.tsx
@@ -15,10 +15,8 @@ const NavButton: React.FC
= ({ href, children, className = '' })
rounded-full
backdrop-blur-sm
bg-gray-800/30
- border border-gray-600/50
text-gray-100
hover:bg-gray-700/40
- hover:border-gray-500/60
hover:text-white
transition-all duration-300 ease-in-out
cursor-pointer
diff --git a/src/components/SearchBar.tsx b/src/components/SearchBar.tsx
index 18e29a5..9dea160 100644
--- a/src/components/SearchBar.tsx
+++ b/src/components/SearchBar.tsx
@@ -14,6 +14,7 @@ const SearchBar: React.FC = ({ className = '' }) => {
const [isLoading, setIsLoading] = useState(false);
const [showResults, setShowResults] = useState(false);
const [error, setError] = useState(null);
+ const [isFocused, setIsFocused] = useState(false);
const navigate = useNavigate();
const searchTimeoutRef = useRef(null);
const resultsRef = useRef(null);
@@ -96,6 +97,7 @@ const SearchBar: React.FC = ({ className = '' }) => {
const desc = [''];
if (candidate.cpf) desc.push(`CPF: ${maskCpf(candidate.cpf)}`);
+ if (candidate.apelido) desc.push(`"${candidate.apelido}"`);
if (candidate.ocupacao && candidate.ocupacao != 'OUTROS') desc.push(`${candidate.ocupacao}`);
if (desc.length == 0)
if (candidate.dataNascimento) desc.push(`${formatDateToDDMMYYYY(candidate.dataNascimento)}`);
@@ -113,13 +115,18 @@ const SearchBar: React.FC = ({ className = '' }) => {
}, []);
return (
-