mirror of
https://github.com/kremalicious/portfolio.git
synced 2024-12-22 09:13:19 +01:00
move to kremalicious/location endpoint
This commit is contained in:
parent
ded48163d6
commit
2b9fe1cc92
@ -1,4 +1,2 @@
|
||||
GATSBY_GITHUB_TOKEN=xxx
|
||||
GATSBY_TYPEKIT_ID=xxx
|
||||
NOMADLIST_PROFILE=xxx
|
||||
NOMADLIST_KEY=xxx
|
@ -76,13 +76,13 @@ If you want to know how, have a look at the respective components:
|
||||
|
||||
On client-side, my current and, if known, my next physical location on a city level is fetched from my (private) [nomadlist.com](https://nomadlist.com) profile and displayed in the header.
|
||||
|
||||
Fetching is split up into a serverless function, a hook, and display component. Fetching is done with a serverless function as to not expose the whole profile response into the browser. Requires `NOMADLIST_PROFILE` & `NOMADLIST_KEY` environment variables.
|
||||
Fetching is split up into a serverless function, a hook, and display component. Fetching is done with a serverless function as to not expose the whole profile response into the browser.
|
||||
|
||||
If you want to know how, have a look at the respective components:
|
||||
|
||||
- [`api/location.js`](api/location.js)
|
||||
- [`src/hooks/useLocation.js`](src/hooks/useLocation.js)
|
||||
- [`src/components/molecules/Location.jsx`](src/components/molecules/Location.jsx)
|
||||
- [kremalicious/location](https://github.com/kremalicious/location)
|
||||
|
||||
### 💅 Theme switcher
|
||||
|
||||
|
@ -1,15 +0,0 @@
|
||||
import axios from 'axios'
|
||||
|
||||
export default async function getLocationHandler(req, res) {
|
||||
if (!process.env.NOMADLIST_PROFILE) return
|
||||
|
||||
try {
|
||||
const response = await axios(
|
||||
`https://nomadlist.com/@${process.env.NOMADLIST_PROFILE}.json?key=${process.env.NOMADLIST_KEY}`
|
||||
)
|
||||
if (!response?.data) return
|
||||
res.json(response.data.location)
|
||||
} catch (error) {
|
||||
res.status(500).send(error)
|
||||
}
|
||||
}
|
@ -37,7 +37,7 @@ export default function Location({ hide }) {
|
||||
const isDifferentCountry = now?.country !== next?.country
|
||||
const relativeTime = new RelativeTime({ locale: 'en' })
|
||||
|
||||
return !hide && now ? (
|
||||
return !hide && now?.city ? (
|
||||
<motion.aside
|
||||
variants={moveInTop}
|
||||
className={styleLocation}
|
||||
|
@ -7,7 +7,7 @@ export const useLocation = () => {
|
||||
useEffect(() => {
|
||||
async function fetchData() {
|
||||
try {
|
||||
const response = await axios(`/api/location`)
|
||||
const response = await axios('https://location.kremalicious.com')
|
||||
if (!response) return
|
||||
setLocation(response.data)
|
||||
} catch (error) {
|
||||
|
Loading…
Reference in New Issue
Block a user