51 | | {
54 | navigator.clipboard.writeText(data.name ?? "");
55 | }}
56 | >
57 |
58 | |
59 | {/* */}
60 |
61 | {
64 | if (data.isFavourite) {
65 | ctx.removeFavourite(data.id ?? "");
66 | } else {
67 | ctx.addFavourite(data.id ?? "");
68 | }
69 | data.isFavourite = !data.isFavourite;
70 | setFavourite(data.isFavourite);
71 | }}
72 | >
73 | {isFavourite ? (
74 |
75 | ) : (
76 |
77 | )}
78 |
79 | |
80 |
81 |
82 |
83 | {split?.length === 1
84 | ? data.name
85 | : split?.map((txt, i) => {
86 | switch (i % 3) {
87 | case 0:
88 | return txt;
89 | case 1:
90 | return (
91 |
95 | {txt}
96 |
97 | );
98 | default:
99 | return null;
100 | }
101 | })}
102 |
103 | {sessionEls}
104 |
105 | REQUIREMENTS:
106 |
107 | Track Medals: {data.requirements?.trackMedals}
108 |
109 |
110 | Safety Rating: {data.requirements?.safetyRating}
111 |
112 |
113 | |
114 |
115 |
116 |
117 | {data.conditions?.rain ? (
118 | data.conditions?.night ? (
119 |
120 | ) : (
121 |
122 | )
123 | ) : (
124 | data.conditions?.night &&
125 | )}
126 |
127 |
132 |
133 | |
134 |
135 | {data.track?.name}
136 |
142 | {data.class}
143 |
144 | |
145 |
146 | Drivers
147 | {`${data.drivers?.connected}/${data.drivers?.max}`}
148 | |
149 |
150 |
155 | |
156 | {/* */}
157 |
158 | );
159 | };
160 |
--------------------------------------------------------------------------------
/components/serverList.tsx:
--------------------------------------------------------------------------------
1 | import { filterType } from "$api/servers";
2 | import { ServerType } from "$utils/db";
3 | import {
4 | useContext,
5 | useEffect,
6 | useRef,
7 | useState,
8 | } from "react";
9 | import DataContext from "./dataContext";
10 | import { Server } from "./server";
11 | import styles from "./serverList.module.scss";
12 | import { event } from "nextjs-google-analytics";
13 |
14 | let currentIndex = 0;
15 | let lastFilters: filterType = null;
16 |
17 | export const ServerList = ({setStatus} : {setStatus: Function}) => {
18 | const ctx = useContext(DataContext);
19 | const containerRef = useRef