Some checks failed
Test examples / Test Examples (20) (push) Has been cancelled
Test examples / Test Examples (22) (push) Has been cancelled
Lock Threads / action (push) Has been cancelled
Trigger Release / start (push) Has been cancelled
Stale issue handler / stale (push) Has been cancelled
Update Font Data / create-pull-request (push) Has been cancelled
build-and-deploy / deploy-target (push) Has been cancelled
build-and-deploy / build (push) Has been cancelled
build-and-deploy / stable - aarch64-unknown-linux-musl - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-unknown-linux-musl - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-unknown-linux-gnu - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-unknown-linux-gnu - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-pc-windows-msvc - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-pc-windows-msvc - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-apple-darwin - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-apple-darwin - node@16 (push) Has been cancelled
build-and-deploy / build-wasm (nodejs) (push) Has been cancelled
build-and-deploy / build-wasm (web) (push) Has been cancelled
build-and-deploy / Deploy preview tarball (push) Has been cancelled
build-and-deploy / Potentially publish release (push) Has been cancelled
build-and-deploy / publish-turbopack-npm-packages (push) Has been cancelled
build-and-deploy / Deploy examples (push) Has been cancelled
build-and-deploy / thank you, build (push) Has been cancelled
build-and-deploy / Upload Turbopack Bytesize metrics to Datadog (push) Has been cancelled
Rspack Next.js development integration tests / Rspack integration tests (push) Has been cancelled
Rspack Next.js production integration tests / Rspack integration tests (push) Has been cancelled
Turbopack Next.js development integration tests / Next.js integration tests (push) Has been cancelled
Turbopack Next.js production integration tests / Next.js integration tests (push) Has been cancelled
Update Rspack test manifest / Update and upload Rspack development test manifest (push) Has been cancelled
Update Rspack test manifest / Update and upload Rspack production test manifest (push) Has been cancelled
Upload bundler test manifests to areweturboyet.com / Upload test results (push) Has been cancelled
Update React / create-pull-request (push) Has been cancelled
test-e2e-project-reset-cron / reset-test-project (push) Has been cancelled
Notify about the top 15 issues/PRs/feature requests (most reacted) in the last 90 days / run (push) Has been cancelled
115 lines
3.4 KiB
TypeScript
115 lines
3.4 KiB
TypeScript
import type { Container, Engine, ISourceOptions } from "tsparticles-engine";
|
|
import Particles from "react-tsparticles";
|
|
|
|
const ParticlesComponent = () => {
|
|
const particlesInit = async (engine: Engine) => {
|
|
// here engine can be used for loading additional presets or plugins
|
|
// PRESETS
|
|
// https://github.com/matteobruni/tsparticles/tree/main/presets all official tsParticles presets
|
|
// for example
|
|
// await loadBigCirclesPreset(engine); // it requires "tsparticles-preset-big-circles" dependency
|
|
// PLUGINS
|
|
// https://github.com/matteobruni/tsparticles/tree/main/plugins all official tsParticles plugins
|
|
// for example
|
|
// await loadInfectionPlugin(engine); // it requires "tsparticles-plugin-infection" dependency
|
|
// SHAPES
|
|
// https://github.com/matteobruni/tsparticles/tree/main/shapes all official tsParticles additional shapes
|
|
// for example
|
|
// await loadHeartShape(engine); // it requires "tsparticles-shape-heart" dependency
|
|
// INTERACTIONS
|
|
// https://github.com/matteobruni/tsparticles/tree/main/interactions all offciail tsParticles additional interactions
|
|
// for example
|
|
// await loadLightInteraction(engine); // it requires "tsparticles-interaction-light" dependency
|
|
// UPDATERS
|
|
// https://github.com/matteobruni/tsparticles/tree/main/updaters all official tsParticles additional updaters
|
|
// for example
|
|
// await loadOrbitUpdater(engine); // it requires "tsparticles-updater-orbit" dependency
|
|
};
|
|
|
|
const particlesLoaded = async (container: Container) => {
|
|
// the container is the current particles instance, it has methods like refresh(), start(), stop(), play(), pause()
|
|
// the documentation can be found here: https://particles.js.org/docs/modules/Core_Container.html
|
|
};
|
|
|
|
// options variable is the particles configuration
|
|
// many configurations can be found here: https://particles.js.org
|
|
// other configurations can be found in the official CodePen collection here: https://codepen.io/collection/DPOage
|
|
const options: ISourceOptions = {
|
|
fullScreen: {
|
|
enable: true, // set this to false to use the particles like any other DOM element, with this true they act like a background
|
|
zIndex: -1,
|
|
},
|
|
fpsLimit: 120,
|
|
particles: {
|
|
number: {
|
|
value: 80,
|
|
density: {
|
|
enable: true,
|
|
area: 800,
|
|
},
|
|
},
|
|
color: {
|
|
value: ["#2EB67D", "#ECB22E", "#E01E5B", "#36C5F0"],
|
|
},
|
|
shape: {
|
|
type: "circle",
|
|
},
|
|
opacity: {
|
|
value: 1,
|
|
},
|
|
size: {
|
|
value: { min: 1, max: 8 },
|
|
},
|
|
links: {
|
|
enable: true,
|
|
distance: 150,
|
|
color: "#808080",
|
|
opacity: 0.4,
|
|
width: 1,
|
|
},
|
|
move: {
|
|
enable: true,
|
|
speed: 5,
|
|
outModes: {
|
|
default: "out",
|
|
},
|
|
},
|
|
},
|
|
interactivity: {
|
|
events: {
|
|
onHover: {
|
|
enable: true,
|
|
mode: "grab",
|
|
},
|
|
onClick: {
|
|
enable: true,
|
|
mode: "push",
|
|
},
|
|
},
|
|
modes: {
|
|
grab: {
|
|
distance: 280,
|
|
links: {
|
|
opacity: 1,
|
|
color: "#808080",
|
|
},
|
|
},
|
|
push: {
|
|
quantity: 4,
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
return (
|
|
<Particles
|
|
id="particles"
|
|
init={particlesInit}
|
|
loaded={particlesLoaded}
|
|
options={options}
|
|
/>
|
|
);
|
|
};
|
|
|
|
export default ParticlesComponent;
|