import Link from 'next/link' import { documents, authors, topics as topicsList, affiliations, } from './db/data' import { epoch2datestring } from './utils/epoch2datestring' import { Fragment } from 'react' export default function Home() { const RandomDocs = (): React.ReactNode[] => { // Convert the object keys into an array const keys = Object.keys(documents) // Determine the number of keys to process (all if fewer than 10) const numKeysToProcess = keys.length < 10 ? keys.length : 10 // Shuffle the keys array if there are more than 10 keys if (keys.length > 10) { for (let i = keys.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)) ;[keys[i], keys[j]] = [keys[j], keys[i]] } } // Select keys based on numKeysToProcess const selectedKeys = keys.slice(0, numKeysToProcess) // Iterate over each of the selected keys return selectedKeys.map((key, index) => { const { title, dates, type, topics } = documents[key].manifest let dateString = epoch2datestring(dates[dates.length - 1]) let typeString = '' switch (type) { case 'report': typeString = 'report' break case 'presentation': typeString = 'presentation' break case 'white paper': typeString = 'white paper' break case 'datasheet': typeString = 'datasheet' break case 'dwm': typeString = 'DWM' break case 'other': typeString = 'document' break } const randomFromArray = (arr: string[]): string => arr[Math.floor(Math.random() * arr.length)] return (
eeXiv2 is a free distribution service and an open-access archive for nearly 2.4 million scholarly articles in the fields of physics, mathematics, computer science, quantitative biology, quantitative finance, statistics, electrical engineering and systems science, and economics. Materials on this site may be published independently through other channels.