Skip to content

Commit 8c5e822

Browse files
committed
refactor hook to hooks folder
1 parent 29fa810 commit 8c5e822

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

components/pages/home/sections/HeroSection.jsx

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import Typography from '@/components/common/Typography';
66
import { Row, Column, Section, Stack } from '@/components/common/layout';
77
import HeroImage from '../HeroImage';
88
import Button from '../../../common/Button';
9-
import { useState, useEffect } from 'react';
9+
import useLatestVersionNumber from '@/hooks/useLatestVersionNumber';
1010

1111
const ProductIconWrap = styled.div`
1212
width: 128px;
@@ -16,16 +16,7 @@ const ProductIconWrap = styled.div`
1616

1717
const HeroSection = () => {
1818

19-
const [data, setData] = useState(null)
20-
const versionNumber = data?.name ?? 'Loading...'
21-
22-
useEffect(() => {
23-
fetch('https://api.github.com/repos/CodeEditApp/CodeEdit/releases/latest')
24-
.then((res) => res.json())
25-
.then((data) => {
26-
setData(data)
27-
})
28-
}, [])
19+
const versionNumber = useLatestVersionNumber();
2920

3021
return (
3122
<Parallax

hooks/useLatestVersionNumber.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { useEffect, useState } from 'react';
2+
3+
const useLatestVersionNumber = () => {
4+
const [versionNumber, setVersionNumber] = useState();
5+
6+
useEffect(() => {
7+
fetch('https://api.github.com/repos/CodeEditApp/CodeEdit/releases/latest')
8+
.then((res) => res.json())
9+
.then((data) => {
10+
setVersionNumber(data.name)
11+
})
12+
}, [])
13+
14+
return versionNumber ?? 'Loading...';
15+
};
16+
17+
export default useLatestVersionNumber;

0 commit comments

Comments
 (0)