mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
## Description This PR ensures that the default prettier config is used for examples and templates. This config is compatible with `prettier@3` as well (upgrading prettier is bigger change that can be a future PR). ## Changes - Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will be needed upgrading to prettier@3) - Added `examples/.prettierrc.json` with default config (this will change every example) - Added `packages/create-next-app/templates/.prettierrc.json` with default config (this will change every template) ## Related - Fixes #54402 - Closes #54409
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;
|