这是indexloc提供的服务,不要输入任何密码
Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
207 changes: 94 additions & 113 deletions pages/index.page.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React, { useEffect, useState } from 'react';
import React, { useEffect, useMemo, useState } from 'react';
import { getLayout } from '../components/SiteLayout';
import { DocSearch } from '@docsearch/react';
import fs from 'fs';
Expand Down Expand Up @@ -93,79 +93,67 @@ const Home = (props: any) => {
const timeToRead = Math.ceil(readingTime(blogPosts[0].content).minutes);
const { resolvedTheme } = useTheme();

const [asyncapi_logo, setAsyncapi_logo] = useState('');
const [vpsserver_logo, setVPSserver_logo] = useState('');
const [airbnb_logo, setAirbnb_logo] = useState('');
const [postman_logo, setPostman_logo] = useState('');
const [itflashcards_logo, setItflashcards_logo] = useState('');
const [route4me_logo, setRoute4me_logo] = useState('');
const [n8n_logo, setN8n_logo] = useState('');
const [endjin_logo, setEndjin_logo] = useState('');
const [llc_logo, setLlc_logo] = useState('');
const [common_room_logo, setCommon_room_logo] = useState('');
const [slack_logo, setSlack_logo] = useState('');
const [ccopter_logo, setCCopter_logo] = useState('');
const [isClient, setIsClient] = useState(false);
const [octue_logo, setOctue_logo] = useState('');
const [apideck_logo, setApideck_logo] = useState('');
const [rxdb_logo, setRxdb_logo] = useState('');
const [wda_logo, setWDA_logo] = useState('');
const [anon_logo, setAnon_logo] = useState('');
const [sourcemeta_logo, setSourcemeta_logo] = useState('');
const [dottxt_logo, setDottxt_logo] = useState('');
const [supadata_logo, setSupadata_logo] = useState('');
const [devevents_logo, setDevevents_logo] = useState('');

useEffect(() => {
// Ensure the component is only rendered client-side
setIsClient(true);
}, []);
useEffect(() => {
if (resolvedTheme === 'dark') {
setAsyncapi_logo('/img/logos/dark-mode/asyncapi_white.svg');
setAirbnb_logo('/img/logos/dark-mode/airbnb_white.png');
setPostman_logo('/img/logos/usedby/postman-white.png');
setEndjin_logo('/img/logos/sponsors/endjin-logo.svg');
setLlc_logo('/img/logos/dark-mode/llc_white.svg');
setCommon_room_logo('/img/logos/dark-mode/common-room_white.svg');
setSlack_logo('/img/logos/dark-mode/slack_white.svg');
setVPSserver_logo('/img/logos/sponsors/vps-server-logo.svg');
setItflashcards_logo('/img/logos/sponsors/it_flashcards-white.svg');
setRoute4me_logo('/img/logos/sponsors/route4me-logo-dark.svg');
setN8n_logo('/img/logos/sponsors/n8n-logo-dark.svg');
setCCopter_logo('/img/logos/sponsors/copycopter-white.png');
setOctue_logo('/img/logos/sponsors/octue-white.svg');
setApideck_logo('/img/logos/sponsors/apideck-white.svg');
setRxdb_logo('/img/logos/sponsors/rxdb.svg');
setWDA_logo('/img/logos/sponsors/wda-dark.svg');
setAnon_logo('/img/logos/sponsors/anon-white.png');
setSourcemeta_logo('/img/logos/sponsors/sourcemeta-logo-light.svg');
setDottxt_logo('/img/logos/sponsors/dottxt-logo-white.svg');
setSupadata_logo('/img/logos/sponsors/supadata-logo-light.svg');
setDevevents_logo('/img/logos/dark-mode/dev_events_logo.png');
} else {
setAsyncapi_logo('/img/logos/sponsors/asyncapi-logo-dark.svg');
setAirbnb_logo('/img/logos/sponsors/airbnb-logo.png');
setPostman_logo('/img/logos/sponsors/postman_logo-orange.svg');
setEndjin_logo('/img/logos/sponsors/endjin-logo.svg');
setLlc_logo('/img/logos/sponsors/llc-logo.svg');
setCommon_room_logo('/img/logos/supported/common-room.svg');
setSlack_logo('/img/logos/supported/slack-logo.svg');
setVPSserver_logo('/img/logos/sponsors/vps-server-logo.svg');
setItflashcards_logo('/img/logos/sponsors/it_flashcards.svg');
setRoute4me_logo('/img/logos/sponsors/route4me-logo-white.svg');
setN8n_logo('/img/logos/sponsors/n8n-logo-white.svg');
setCCopter_logo('/img/logos/sponsors/copycopter.png');
setOctue_logo('/img/logos/sponsors/octue-black.svg');
setApideck_logo('/img/logos/sponsors/apideck.svg');
setRxdb_logo('/img/logos/sponsors/rxdb.svg');
setWDA_logo('/img/logos/sponsors/wda.svg');
setAnon_logo('/img/logos/sponsors/anon-black.png');
setSourcemeta_logo('/img/logos/sponsors/sourcemeta-logo-dark.svg');
setSupadata_logo('/img/logos/sponsors/supadata-logo-dark.svg');
setDottxt_logo('/img/logos/sponsors/dottxt-logo-dark.svg');
}
}, [resolvedTheme]);
const LOGOS_PATHS = {
darkLogos: {
asyncapi: '/img/logos/dark-mode/asyncapi_white.svg',
airbnb: '/img/logos/dark-mode/airbnb_white.png',
postman: '/img/logos/usedby/postman-white.png',
endjin: '/img/logos/sponsors/endjin-logo.svg',
llc: '/img/logos/dark-mode/llc_white.svg',
common_room: '/img/logos/dark-mode/common-room_white.svg',
slack: '/img/logos/dark-mode/slack_white.svg',
vpsserver: '/img/logos/sponsors/vps-server-logo.svg',
itflashcards: '/img/logos/sponsors/it_flashcards-white.svg',
route4me: '/img/logos/sponsors/route4me-logo-dark.svg',
n8n: '/img/logos/sponsors/n8n-logo-dark.svg',
ccopter: '/img/logos/sponsors/copycopter-white.png',
octue: '/img/logos/sponsors/octue-white.svg',
apideck: '/img/logos/sponsors/apideck-white.svg',
rxdb: '/img/logos/sponsors/rxdb.svg',
wda: '/img/logos/sponsors/wda-dark.svg',
anon: '/img/logos/sponsors/anon-white.png',
sourcemeta: '/img/logos/sponsors/sourcemeta-logo-light.svg',
dottxt: '/img/logos/sponsors/dottxt-logo-white.svg',
supadata: '/img/logos/sponsors/supadata-logo-light.svg',
devevents: '/img/logos/dark-mode/dev_events_logo.png',
},
lightLogos: {
asyncapi: '/img/logos/sponsors/asyncapi-logo-dark.svg',
airbnb: '/img/logos/sponsors/airbnb-logo.png',
postman: '/img/logos/sponsors/postman_logo-orange.svg',
endjin: '/img/logos/sponsors/endjin-logo.svg',
llc: '/img/logos/sponsors/llc-logo.svg',
common_room: '/img/logos/supported/common-room.svg',
slack: '/img/logos/supported/slack-logo.svg',
vpsserver: '/img/logos/sponsors/vps-server-logo.svg',
itflashcards: '/img/logos/sponsors/it_flashcards.svg',
route4me: '/img/logos/sponsors/route4me-logo-white.svg',
n8n: '/img/logos/sponsors/n8n-logo-white.svg',
ccopter: '/img/logos/sponsors/copycopter.png',
octue: '/img/logos/sponsors/octue-black.svg',
apideck: '/img/logos/sponsors/apideck.svg',
rxdb: '/img/logos/sponsors/rxdb.svg',
wda: '/img/logos/sponsors/wda.svg',
anon: '/img/logos/sponsors/anon-black.png',
sourcemeta: '/img/logos/sponsors/sourcemeta-logo-dark.svg',
supadata: '/img/logos/sponsors/supadata-logo-dark.svg',
dottxt: '/img/logos/sponsors/dottxt-logo-dark.svg',
devevents: '/img/logos/dark-mode/dev_events_logo.png',
},
};

const logos = useMemo(
() =>
LOGOS_PATHS[resolvedTheme == 'dark' ? 'darkLogos' : 'lightLogos'] ||
LOGOS_PATHS.lightLogos,
[resolvedTheme],
);
return (
<div>
<div className='flex flex-col items-center'>
Expand Down Expand Up @@ -692,8 +680,8 @@ const Home = (props: any) => {
{isClient && (
<>
<Image
src={asyncapi_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.asyncapi}
className=' w-44'
width={176}
height={100}
alt='asyncapi'
Expand All @@ -709,8 +697,8 @@ const Home = (props: any) => {
{isClient && (
<>
<Image
src={airbnb_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.airbnb}
className=' w-44'
width={176}
height={100}
alt='airbnb'
Expand All @@ -726,8 +714,8 @@ const Home = (props: any) => {
{isClient && (
<>
<Image
src={postman_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.postman}
className=' w-44'
width={176}
height={100}
alt='postman'
Expand All @@ -739,8 +727,8 @@ const Home = (props: any) => {
{isClient && (
<>
<Image
src={endjin_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.endjin}
className=' w-44'
width={176}
height={100}
alt='endjin'
Expand All @@ -752,8 +740,8 @@ const Home = (props: any) => {
{isClient && (
<>
<Image
src={llc_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.llc}
className=' w-44'
width={176}
height={100}
alt='llc'
Expand All @@ -769,8 +757,8 @@ const Home = (props: any) => {
{isClient && (
<>
<Image
src={vpsserver_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.vpsserver}
className=' w-44'
width={176}
height={100}
alt='vpsserver'
Expand All @@ -786,8 +774,8 @@ const Home = (props: any) => {
{isClient && (
<>
<Image
src={itflashcards_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.itflashcards}
className=' w-44'
width={176}
height={100}
alt='itflashcards'
Expand All @@ -803,8 +791,8 @@ const Home = (props: any) => {
{isClient && (
<>
<Image
src={route4me_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.route4me}
className=' w-44'
width={176}
height={100}
alt='route4me'
Expand All @@ -816,8 +804,8 @@ const Home = (props: any) => {
{isClient && (
<>
<Image
src={n8n_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.n8n}
className=' w-44'
width={176}
height={100}
alt='n8n'
Expand All @@ -829,8 +817,8 @@ const Home = (props: any) => {
{isClient && (
<>
<Image
src={ccopter_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.ccopter}
className=' w-44'
width={176}
height={100}
alt='ccopter'
Expand All @@ -839,19 +827,16 @@ const Home = (props: any) => {
)}
</a>
<a href='https://www.octue.com/' target='_blank' rel='noreferrer'>
<img
src={octue_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
/>
<img src={logos.octue} className=' w-44' />
</a>
<a
href='https://www.apideck.com/'
target='_blank'
rel='noreferrer'
>
<img
src={apideck_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.apideck}
className=' w-44'
alt='The Realtime Unified API
for Accounting integrations'
/>
Expand All @@ -862,8 +847,8 @@ for Accounting integrations'
rel='noreferrer'
>
<img
src={rxdb_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.rxdb}
className=' w-44'
alt='The local Database for JavaScript Applications'
/>
</a>
Expand All @@ -873,8 +858,8 @@ for Accounting integrations'
rel='noreferrer'
>
<img
src={wda_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.wda}
className=' w-44'
alt='best website design agencies'
/>
</a>
Expand All @@ -884,33 +869,29 @@ for Accounting integrations'
rel='noreferrer'
>
<img
src={anon_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.anon}
className=' w-44'
alt='Instagram Story Viewer'
/>
</a>
<a href='https://supadata.ai/' target='_blank' rel='noreferrer'>
<img
src={supadata_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.supadata}
className=' w-44'
alt='supadata logo'
/>
</a>
<a href='https://dottxt.ai/' target='_blank' rel='noreferrer'>
<img
src={dottxt_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
alt='dottxt logo'
/>
<img src={logos.dottxt} className=' w-44' alt='dottxt logo' />
</a>
<a
href='https://www.sourcemeta.com/'
target='_blank'
rel='noreferrer'
>
<img
src={sourcemeta_logo}
className='w-44 transition-transform duration-300 hover:scale-105'
src={logos.sourcemeta}
className=' w-44'
alt='dottxt logo'
/>
</a>
Expand Down Expand Up @@ -959,8 +940,8 @@ for Accounting integrations'
{isClient && (
<>
<Image
src={devevents_logo}
className='w-48 md:w-56 transition-transform duration-300 hover:scale-105'
src={logos.devevents}
className='w-48 md:w-56'
width={192}
height={224}
alt='dev events'
Expand Down Expand Up @@ -996,7 +977,7 @@ for Accounting integrations'
{isClient && (
<>
<Image
src={common_room_logo}
src={logos.common_room}
className='w-48 md:w-56'
width={192}
height={224}
Expand All @@ -1009,7 +990,7 @@ for Accounting integrations'
{isClient && (
<>
<Image
src={slack_logo}
src={logos.slack}
className=' w-24 md:w-32'
width={96}
height={128}
Expand Down
Loading