forked from RiseUP/riseup-squad23
Alterações nas rotas e login
This commit is contained in:
parent
e6234093de
commit
84c14fdb06
@ -129,7 +129,7 @@
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card:hover {
|
.highlight:hover {
|
||||||
transform: translateY(-6px);
|
transform: translateY(-6px);
|
||||||
box-shadow: 0 8px 20px rgba(30, 58, 138, 0.2);
|
box-shadow: 0 8px 20px rgba(30, 58, 138, 0.2);
|
||||||
background: #f8faff;
|
background: #f8faff;
|
||||||
|
|||||||
@ -20,22 +20,22 @@ function UserDashboard() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="cards-container">
|
<div className="cards-container">
|
||||||
<div className="card">
|
<div className="card highlight">
|
||||||
<p className="card-label">Total de Usuários</p>
|
<p className="card-label">Total de Usuários</p>
|
||||||
<p className="card-value">15</p>
|
<p className="card-value">15</p>
|
||||||
<p className="card-extra positive">+3 este mês</p>
|
<p className="card-extra positive">+3 este mês</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="card">
|
<div className="card highlight">
|
||||||
<p className="card-label">Usuários Ativos</p>
|
<p className="card-label">Usuários Ativos</p>
|
||||||
<p className="card-value">12</p>
|
<p className="card-value">12</p>
|
||||||
<p className="card-extra">80.0% do total</p>
|
<p className="card-extra">80.0% do total</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="card">
|
<div className="card highlight">
|
||||||
<p className="card-label">Tempo Médio Sessão</p>
|
<p className="card-label">Tempo Médio Sessão</p>
|
||||||
<p className="card-value">2h 30min</p>
|
<p className="card-value">2h 30min</p>
|
||||||
<p className="card-extra">Última semana</p>
|
<p className="card-extra">Última semana</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="card">
|
<div className="card highlight">
|
||||||
<p className="card-label">Usuários Hoje</p>
|
<p className="card-label">Usuários Hoje</p>
|
||||||
<p className="card-value">10</p>
|
<p className="card-value">10</p>
|
||||||
<p className="card-extra positive">+2 desde ontem</p>
|
<p className="card-extra positive">+2 desde ontem</p>
|
||||||
|
|||||||
@ -9,19 +9,6 @@
|
|||||||
"url": "/admin/",
|
"url": "/admin/",
|
||||||
"icon": "house"
|
"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",
|
"name": "Lista de Pacientes",
|
||||||
"icon": "clipboard-heart-fill",
|
"icon": "clipboard-heart-fill",
|
||||||
|
|||||||
@ -95,7 +95,7 @@ function TableDoctor({ setCurrentPage, setPatientID }) {
|
|||||||
<div className="card">
|
<div className="card">
|
||||||
<div className="card-header d-flex justify-content-between align-items-center">
|
<div className="card-header d-flex justify-content-between align-items-center">
|
||||||
<h4 className="card-title mb-0">Médicos Cadastrados</h4>
|
<h4 className="card-title mb-0">Médicos Cadastrados</h4>
|
||||||
<Link to={'/medicos/cadastro'}>
|
<Link to={'cadastro'}>
|
||||||
<button
|
<button
|
||||||
className="btn btn-primary"
|
className="btn btn-primary"
|
||||||
|
|
||||||
|
|||||||
@ -2,46 +2,17 @@ import React, { useState, useEffect } from 'react';
|
|||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
import { FaUser, FaUserPlus, FaCalendarAlt, FaCalendarCheck } from 'react-icons/fa';
|
import { FaUser, FaUserPlus, FaCalendarAlt, FaCalendarCheck } from 'react-icons/fa';
|
||||||
import './style/Inicio.css';
|
import './style/Inicio.css';
|
||||||
import { useAuth } from '../components/utils/AuthProvider';
|
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
|
|
||||||
function Inicio() {
|
function Inicio() {
|
||||||
const { authTokens, setAuthTokens } = useAuth();
|
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const [pacientes, setPacientes] = useState([]);
|
const [pacientes, setPacientes] = useState([]);
|
||||||
const [agendamentos, setAgendamentos] = useState([]);
|
const [agendamentos, setAgendamentos] = useState([]);
|
||||||
|
|
||||||
useEffect(() => {
|
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 () => {
|
/*const fetchPacientes = async () => {
|
||||||
try {
|
try {
|
||||||
const res = await fetch("https://mock.apidog.com/m1/1053378-0-default/pacientes");
|
const res = await fetch("https://mock.apidog.com/m1/1053378-0-default/pacientes");
|
||||||
@ -122,14 +93,14 @@ function Inicio() {
|
|||||||
<div className="quick-actions">
|
<div className="quick-actions">
|
||||||
<h2>Ações Rápidas</h2>
|
<h2>Ações Rápidas</h2>
|
||||||
<div className="actions-grid">
|
<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" />
|
<FaUserPlus className="action-icon" />
|
||||||
<div className="action-info">
|
<div className="action-info">
|
||||||
<span className="action-title">Novo Paciente</span>
|
<span className="action-title">Novo Paciente</span>
|
||||||
<span className="action-desc">Cadastrar um novo paciente</span>
|
<span className="action-desc">Cadastrar um novo paciente</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="action-button" onClick={() => navigate('/secretaria/pacientes')}>
|
<div className="action-button" onClick={() => navigate('pacientes')}>
|
||||||
<FaUser className="action-icon" />
|
<FaUser className="action-icon" />
|
||||||
<div className="action-info">
|
<div className="action-info">
|
||||||
<span className="action-title">Lista de Pacientes</span>
|
<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 { Link, useNavigate } from "react-router-dom";
|
||||||
|
import { useAuth } from '../components/utils/AuthProvider';
|
||||||
|
import API_KEY from '../components/utils/apiKeys';
|
||||||
function Login({ onEnterSystem }) {
|
function Login({ onEnterSystem }) {
|
||||||
|
const { authTokens, setAuthTokens } = useAuth();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const [form, setForm] = useState({
|
const [form, setForm] = useState({
|
||||||
username: "",
|
username: "",
|
||||||
@ -11,18 +12,66 @@ function Login({ onEnterSystem }) {
|
|||||||
const [alert, setAlert] = useState("");
|
const [alert, setAlert] = useState("");
|
||||||
const [showPassword, setShowPassword] = useState(false);
|
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) => {
|
const handleChange = (e) => {
|
||||||
setForm({ ...form, [e.target.name]: e.target.value });
|
setForm({ ...form, [e.target.name]: e.target.value });
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleLogin = (e) => {
|
const handleLogin = async (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
console.log("Tentando logar com:", form);
|
console.log("Tentando logar com:", form);
|
||||||
if (form.username && form.password) {
|
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 {
|
} else {
|
||||||
setAlert("Preencha todos os campos!");
|
setAlert("Preencha todos os campos!");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -156,7 +156,7 @@ function TablePaciente({ setCurrentPage, setPatientID }) {
|
|||||||
<div className="card">
|
<div className="card">
|
||||||
<div className="card-header d-flex justify-content-between align-items-center">
|
<div className="card-header d-flex justify-content-between align-items-center">
|
||||||
<h4 className="card-title mb-0">Pacientes Cadastrados</h4>
|
<h4 className="card-title mb-0">Pacientes Cadastrados</h4>
|
||||||
<Link to={'/secretaria/pacientes/cadastro'}>
|
<Link to={'cadastro'}>
|
||||||
<button
|
<button
|
||||||
className="btn btn-primary"
|
className="btn btn-primary"
|
||||||
>
|
>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user