Alterações nas rotas e login
This commit is contained in:
parent
e6234093de
commit
84c14fdb06
@ -129,7 +129,7 @@
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.card:hover {
|
||||
.highlight:hover {
|
||||
transform: translateY(-6px);
|
||||
box-shadow: 0 8px 20px rgba(30, 58, 138, 0.2);
|
||||
background: #f8faff;
|
||||
|
||||
@ -20,22 +20,22 @@ function UserDashboard() {
|
||||
</div>
|
||||
|
||||
<div className="cards-container">
|
||||
<div className="card">
|
||||
<div className="card highlight">
|
||||
<p className="card-label">Total de Usuários</p>
|
||||
<p className="card-value">15</p>
|
||||
<p className="card-extra positive">+3 este mês</p>
|
||||
</div>
|
||||
<div className="card">
|
||||
<div className="card highlight">
|
||||
<p className="card-label">Usuários Ativos</p>
|
||||
<p className="card-value">12</p>
|
||||
<p className="card-extra">80.0% do total</p>
|
||||
</div>
|
||||
<div className="card">
|
||||
<div className="card highlight">
|
||||
<p className="card-label">Tempo Médio Sessão</p>
|
||||
<p className="card-value">2h 30min</p>
|
||||
<p className="card-extra">Última semana</p>
|
||||
</div>
|
||||
<div className="card">
|
||||
<div className="card highlight">
|
||||
<p className="card-label">Usuários Hoje</p>
|
||||
<p className="card-value">10</p>
|
||||
<p className="card-extra positive">+2 desde ontem</p>
|
||||
|
||||
@ -9,19 +9,6 @@
|
||||
"url": "/admin/",
|
||||
"icon": "house"
|
||||
},
|
||||
|
||||
{
|
||||
"name": "Cadastro de Pacientes",
|
||||
"url": "/admin/pacientes/cadastro",
|
||||
"icon": "heart-pulse-fill"
|
||||
},
|
||||
|
||||
{
|
||||
"name": "Cadastro do Médico",
|
||||
"url": "/admin/medicos/cadastro",
|
||||
"icon": "capsule"
|
||||
},
|
||||
|
||||
{
|
||||
"name": "Lista de Pacientes",
|
||||
"icon": "clipboard-heart-fill",
|
||||
|
||||
@ -95,7 +95,7 @@ function TableDoctor({ setCurrentPage, setPatientID }) {
|
||||
<div className="card">
|
||||
<div className="card-header d-flex justify-content-between align-items-center">
|
||||
<h4 className="card-title mb-0">Médicos Cadastrados</h4>
|
||||
<Link to={'/medicos/cadastro'}>
|
||||
<Link to={'cadastro'}>
|
||||
<button
|
||||
className="btn btn-primary"
|
||||
|
||||
|
||||
@ -2,46 +2,17 @@ import React, { useState, useEffect } from 'react';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { FaUser, FaUserPlus, FaCalendarAlt, FaCalendarCheck } from 'react-icons/fa';
|
||||
import './style/Inicio.css';
|
||||
import { useAuth } from '../components/utils/AuthProvider';
|
||||
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
function Inicio() {
|
||||
const { authTokens, setAuthTokens } = useAuth();
|
||||
|
||||
const navigate = useNavigate();
|
||||
const [pacientes, setPacientes] = useState([]);
|
||||
const [agendamentos, setAgendamentos] = useState([]);
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
|
||||
var myHeaders = new Headers();
|
||||
myHeaders.append("apikey", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl1YW5xZnN3aGJlcmtvZXZ0bWZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQ5NTQzNjksImV4cCI6MjA3MDUzMDM2OX0.g8Fm4XAvtX46zifBZnYVH4tVuQkqUH6Ia9CXQj4DztQ");
|
||||
myHeaders.append("Content-Type", "application/json");
|
||||
|
||||
var raw = JSON.stringify({
|
||||
"email": "riseup@popcode.com.br",
|
||||
"password": "riseup"
|
||||
|
||||
});
|
||||
|
||||
var requestOptions = {
|
||||
method: 'POST',
|
||||
headers: myHeaders,
|
||||
body: raw,
|
||||
|
||||
redirect: 'follow'
|
||||
};
|
||||
|
||||
fetch("https://yuanqfswhberkoevtmfr.supabase.co/auth/v1/token?grant_type=password", requestOptions)
|
||||
.then(response => response.json())
|
||||
.then(result => {setAuthTokens(result); console.log(result)})
|
||||
.catch(error => console.log('error', error));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*const fetchPacientes = async () => {
|
||||
try {
|
||||
const res = await fetch("https://mock.apidog.com/m1/1053378-0-default/pacientes");
|
||||
@ -122,14 +93,14 @@ function Inicio() {
|
||||
<div className="quick-actions">
|
||||
<h2>Ações Rápidas</h2>
|
||||
<div className="actions-grid">
|
||||
<div className="action-button" onClick={() => navigate('/secretaria/pacientes/cadastro')}>
|
||||
<div className="action-button" onClick={() => navigate('pacientes/cadastro')}>
|
||||
<FaUserPlus className="action-icon" />
|
||||
<div className="action-info">
|
||||
<span className="action-title">Novo Paciente</span>
|
||||
<span className="action-desc">Cadastrar um novo paciente</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className="action-button" onClick={() => navigate('/secretaria/pacientes')}>
|
||||
<div className="action-button" onClick={() => navigate('pacientes')}>
|
||||
<FaUser className="action-icon" />
|
||||
<div className="action-info">
|
||||
<span className="action-title">Lista de Pacientes</span>
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
import React, { useState } from 'react';
|
||||
import React, { useState, useEffect, use } from 'react';
|
||||
import { Link, useNavigate } from "react-router-dom";
|
||||
|
||||
|
||||
import { useAuth } from '../components/utils/AuthProvider';
|
||||
import API_KEY from '../components/utils/apiKeys';
|
||||
function Login({ onEnterSystem }) {
|
||||
const { authTokens, setAuthTokens } = useAuth();
|
||||
const navigate = useNavigate();
|
||||
const [form, setForm] = useState({
|
||||
username: "",
|
||||
@ -11,18 +12,66 @@ function Login({ onEnterSystem }) {
|
||||
const [alert, setAlert] = useState("");
|
||||
const [showPassword, setShowPassword] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
var myHeaders = new Headers();
|
||||
myHeaders.append("apikey", API_KEY);
|
||||
myHeaders.append("Content-Type", "application/json");
|
||||
|
||||
var raw = JSON.stringify({
|
||||
"email": "riseup@popcode.com.br",
|
||||
"password": "riseup"
|
||||
});
|
||||
|
||||
var requestOptions = {
|
||||
method: 'POST',
|
||||
headers: myHeaders,
|
||||
body: raw,
|
||||
|
||||
redirect: 'follow'
|
||||
};
|
||||
|
||||
fetch("https://yuanqfswhberkoevtmfr.supabase.co/auth/v1/token?grant_type=password", requestOptions)
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
setAuthTokens(data);
|
||||
console.log(data);
|
||||
})
|
||||
.catch(error => console.log('error', error));
|
||||
}, []);
|
||||
|
||||
const handleChange = (e) => {
|
||||
setForm({ ...form, [e.target.name]: e.target.value });
|
||||
};
|
||||
|
||||
const handleLogin = (e) => {
|
||||
const handleLogin = async (e) => {
|
||||
e.preventDefault();
|
||||
console.log("Tentando logar com:", form);
|
||||
if (form.username && form.password) {
|
||||
// ...login logic...
|
||||
navigate('/admin/inicio');
|
||||
|
||||
|
||||
|
||||
|
||||
/* if (data.access_token) {
|
||||
console.log("Login bem-sucedido!");
|
||||
var myHeaders = new Headers();
|
||||
myHeaders.append("apikey", API_KEY);
|
||||
myHeaders.append("Authorization", `Bearer ${data.access_token}`);
|
||||
|
||||
var requestOptions = {
|
||||
method: 'GET',
|
||||
headers: myHeaders,
|
||||
redirect: 'follow'
|
||||
};
|
||||
|
||||
console.log(data.user.id)
|
||||
|
||||
fetch(`https://yuanqfswhberkoevtmfr.supabase.co/functions/v1/user-info`, requestOptions)
|
||||
.then(response => response.text())
|
||||
.then(result => console.log(result, "vamo ver se da certo"))
|
||||
.catch(error => console.log('error', error));
|
||||
}*/
|
||||
|
||||
navigate(`/${form.username}/`);
|
||||
|
||||
|
||||
} else {
|
||||
setAlert("Preencha todos os campos!");
|
||||
}
|
||||
|
||||
@ -156,7 +156,7 @@ function TablePaciente({ setCurrentPage, setPatientID }) {
|
||||
<div className="card">
|
||||
<div className="card-header d-flex justify-content-between align-items-center">
|
||||
<h4 className="card-title mb-0">Pacientes Cadastrados</h4>
|
||||
<Link to={'/secretaria/pacientes/cadastro'}>
|
||||
<Link to={'cadastro'}>
|
||||
<button
|
||||
className="btn btn-primary"
|
||||
>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user