403Webshell
Server IP : 162.0.215.10  /  Your IP : 3.15.189.219
Web Server : LiteSpeed
System : Linux premium181.web-hosting.com 4.18.0-513.24.1.lve.1.el8.x86_64 #1 SMP Thu May 9 15:10:09 UTC 2024 x86_64
User : alfhgysd ( 724)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/alfhgysd/smartshopper-ksa.store/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/alfhgysd/smartshopper-ksa.store/script.js
// Helper libs. Go to line 105 for the actual implementation.
class Vector {
  constructor(x, y) {
    this._compute(x, y);
  }
  _compute(x, y) {
    this.x = x;
    this.y = y;
    this.angle = Math.atan2(y, x);
    this.length = Math.sqrt(x * x + y * y);
  }
  setAngle(angle) {
    this.angle = angle;
    this.x = Math.cos(this.angle) * this.length;
    this.y = Math.sin(this.angle) * this.length;
  }
  setLength(length) {
    this.length = length;
    this.x = Math.cos(this.angle) * this.length;
    this.y = Math.sin(this.angle) * this.length;
  }
  add(v) {
    this._compute(this.x + v.x, this.y + v.y);
  }
  multiply(scalar) {
    this._compute(this.x * scalar, this.y * scalar);
  }}


class Particle {
  constructor({
    radius,
    position,
    velocity = new Vector(0, 0),
    gravity = 0,
    mass = 1,
    friction = 0.99,
    update = true })
  {
    this.radius = radius;
    this.position = position;
    this.velocity = velocity;
    this.mass = mass;
    this.gravity = new Vector(0, gravity);
    this.friction = friction;
    this.update = update;
  }

  angleTo(p) {
    return Math.atan2(
    p.position.y - this.position.y,
    p.position.x - this.position.x);

  }

  distanceTo(p) {
    const dx = p.position.x - this.position.x;
    const dy = p.position.y - this.position.y;
    return Math.sqrt(dx * dx + dy * dy);
  }

  updatePosition() {
    if (this.update) {
      this.velocity.add(this.gravity);
      this.position.add(this.velocity);
    }
  }

  render(ctx) {
    ctx.beginPath();
    ctx.arc(
    this.position.x,
    this.position.y,
    this.radius,
    0,
    2 * Math.PI,
    false);

    ctx.fill();
  }

  screenWrap(width, height) {
    if (this.update) {
      const { x, y } = this.position;
      // Left boundary.
      if (x + this.radius < 0) {
        this.position.x = width + this.radius;
      }
      // Right boundary.
      if (x - this.radius > width) {
        this.position.x = 0 - this.radius;
      }
      // Top boundary.
      if (y + this.radius < 0) {
        this.position.y = height + this.radius;
      }
      // Bottom boundary.
      if (y - this.radius > height) {
        this.position.y = 0 - this.radius;
      }
    }
  }}


// Where the actual magic happens.
const particleColors = ["#00ACC0", "#F7457F", "#DFE5F1"];
const backgroundRgb = {
  r: 23,
  g: 24,
  b: 29 };


const PARTICLE_COUNT = 300;
const particles = [];
const canvas = document.getElementById("landing-canvas");
const ctx = canvas.getContext("2d");
const {
  width: canvasWidth,
  height: canvasHeight } =
canvas.getBoundingClientRect();
canvas.width = canvasWidth;
canvas.height = canvasHeight;

initializeParticles();

render();

/**
 * Create the particles and spring points based on the pixel positions in the canvas.
 */
function initializeParticles() {
  for (let i = 0; i < PARTICLE_COUNT; i++) {
    const velocity = new Vector(0, 0);
    velocity.setAngle(Math.random() * 2 * Math.PI);
    velocity.setLength(1);
    const particle = new Particle({
      radius: 1,
      position: new Vector(
      Math.round(Math.random() * canvasWidth),
      Math.round(Math.random() * canvasHeight)),

      velocity });

    particles.push(particle);
  }
}

/**
 * Renders the particles on the screen.
 */
function render() {
  effectLongTrails();
  requestAnimationFrame(render);
}

function effectLongTrails() {
  // Clear the canvas.
  ctx.fillStyle = `rgba(${backgroundRgb.r}, ${backgroundRgb.g}, ${backgroundRgb.b}, .01)`;
  ctx.fillRect(0, 0, canvasWidth, canvasHeight);
  // For each particle within the limit.
  for (let i = 0; i < PARTICLE_COUNT; i++) {
    const particle = particles[i];
    ctx.fillStyle = particleColors[i % particleColors.length];
    particle.render(ctx);
    particle.screenWrap(canvasWidth, canvasHeight);
    particle.updatePosition();
    particle.velocity.x += Math.random() > 0.5 ? 0.01 : -0.01;
    particle.velocity.y += Math.random() > 0.5 ? 0.01 : -0.01;
  }
}

Youez - 2016 - github.com/yon3zu
LinuXploit