()
| 150 | ); |
| 151 | |
| 152 | export const Features = () => { |
| 153 | return ( |
| 154 | <div className="relative z-10 bg-rainbow-gradient"> |
| 155 | <div className="absolute top-0 left-0 w-full overflow-hidden leading-none z-20"> |
| 156 | <svg |
| 157 | className="relative block w-[110%] -left-[5%] h-[60px] md:h-[120px] text-gleam-dark fill-current rotate-180" |
| 158 | xmlns="http://www.w3.org/2000/svg" |
| 159 | viewBox="0 0 1200 120" |
| 160 | preserveAspectRatio="none" |
| 161 | aria-hidden="true" |
| 162 | > |
| 163 | <path d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V120H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z"></path> |
| 164 | </svg> |
| 165 | </div> |
| 166 | |
| 167 | <div className="pt-24 pb-32 border-t border-white/5 relative z-10"> |
| 168 | <div className="max-w-7xl mx-auto"> |
| 169 | <FeatureRow |
| 170 | title="Small." |
| 171 | description="Smaller images mean faster load times. Reduce file size by up to 80% without losing quality." |
| 172 | graphic={<SizeGraphic />} |
| 173 | align="left" |
| 174 | colorClass="text-pink-400" |
| 175 | /> |
| 176 | |
| 177 | <FeatureRow |
| 178 | title="Simple." |
| 179 | description="Drag, drop, done. Process hundreds of images at once in seconds." |
| 180 | graphic={<BatchGraphic />} |
| 181 | align="right" |
| 182 | colorClass="text-violet-400" |
| 183 | /> |
| 184 | |
| 185 | <FeatureRow |
| 186 | title="Private." |
| 187 | description="Your photos never leave your device. No servers, no clouds, no tracking." |
| 188 | graphic={<PrivacyGraphic />} |
| 189 | align="left" |
| 190 | colorClass="text-emerald-400" |
| 191 | /> |
| 192 | </div> |
| 193 | </div> |
| 194 | |
| 195 | <div className="absolute bottom-0 left-0 w-full overflow-hidden leading-none z-20"> |
| 196 | <svg |
| 197 | className="relative block w-[110%] -left-[5%] h-[50px] md:h-[80px] text-gleam-dark fill-current opacity-10" |
| 198 | xmlns="http://www.w3.org/2000/svg" |
| 199 | viewBox="0 0 1200 120" |
| 200 | preserveAspectRatio="none" |
| 201 | aria-hidden="true" |
| 202 | > |
| 203 | <path d="M985.66,92.83C906.67,72,823.78,31,743.84,14.19c-82.26-17.34-168.06-16.33-250.45.39-57.84,11.73-114,31.07-172,41.86A600.21,600.21,0,0,1,0,27.35V120H1200V95.8C1132.19,118.92,1055.71,111.31,985.66,92.83Z"></path> |
| 204 | </svg> |
| 205 | </div> |
| 206 | </div> |
| 207 | ); |
| 208 | }; |
nothing calls this directly
no outgoing calls
no test coverage detected