adding next.js app which calls the fastAPI AND displays date in the app.
This commit is contained in:
@@ -1,16 +1,17 @@
|
||||
'use client'
|
||||
import React, {useEffect, useState} from 'react';
|
||||
import {fetchStationData} from "@/services/api/mta-server";
|
||||
import {fetchStartDate} from "@/services/mta-api/mta-server";
|
||||
import {MtaStartTime} from "@/services/mta-api/types";
|
||||
|
||||
|
||||
const TitleBar = () => {
|
||||
const [data, setData] = useState(null);
|
||||
const [data, setData] = useState<MtaStartTime|null>(null);
|
||||
|
||||
useEffect(() => {
|
||||
const fetchData = async () => {
|
||||
try {
|
||||
console.log("CALLING API")
|
||||
const mtaData = await fetchStationData([""])
|
||||
const mtaData = await fetchStartDate([""])
|
||||
setData( mtaData)
|
||||
|
||||
} catch (error) {
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
// rewrites: async () => {
|
||||
// return [
|
||||
// {
|
||||
// source: '/api/:path*',
|
||||
// destination:
|
||||
// process.env.NODE_ENV === 'development'
|
||||
// ? 'http://127.0.0.1:8000/api/:path*'
|
||||
// : '/api/',
|
||||
// },
|
||||
// ]
|
||||
// },
|
||||
rewrites: async () => {
|
||||
return [
|
||||
{
|
||||
source: '/api/:path*',
|
||||
destination:
|
||||
process.env.NODE_ENV === 'development'
|
||||
? 'http://127.0.0.1:8000/api/:path*'
|
||||
: '/api/',
|
||||
},
|
||||
]
|
||||
},
|
||||
}
|
||||
|
||||
module.exports = nextConfig
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
export type MtaData = {
|
||||
mtaData: any;
|
||||
};
|
||||
|
||||
export const fetchStationData = async (stations:[string]):Promise<MtaData> => {
|
||||
const res = await fetch("")
|
||||
const data = await res.json()
|
||||
return {
|
||||
mtaData: data
|
||||
};
|
||||
};
|
||||
19
mta-sign-ui/services/mta-api/mta-server.ts
Normal file
19
mta-sign-ui/services/mta-api/mta-server.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import {MtaData, MtaStartTime} from "@/services/mta-api/types";
|
||||
|
||||
export const fetchStationData = async (stations: [string]): Promise<MtaData> => {
|
||||
const res = await fetch("/api/mta_data", {method: "POST"})
|
||||
const data = await res.json()
|
||||
return {
|
||||
mtaData: data
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
export const fetchStartDate = async (stations: [string]): Promise<MtaStartTime> => {
|
||||
const res = await fetch("/api/start_time", {method: "POST"})
|
||||
const data = await res.text()
|
||||
const date = new Date(data.replaceAll("\"", ""))
|
||||
return {
|
||||
startTime: date
|
||||
};
|
||||
};
|
||||
7
mta-sign-ui/services/mta-api/types.ts
Normal file
7
mta-sign-ui/services/mta-api/types.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
export interface MtaData {
|
||||
mtaData: any;
|
||||
};
|
||||
|
||||
export interface MtaStartTime {
|
||||
startTime: Date
|
||||
}
|
||||
Reference in New Issue
Block a user