Can not Connect to my cell phone Hotspot

This means that the WiFi module received the IP address, but if you request that IP via WiFi.localIP() it might not have been forwarded to the µC memory and hence you see 0.0.0.0.
To get around this add one call to Particle.process() - which would allow for pending WiFi tasks to be executed - before requesting IP or SSID.

Maybe like this

SYSTEM_MODE(SEMI_AUTOMATIC)

void setup()
{
  WiFi.connect(); 
  Serial.begin(115200);
  while(Serial.read() < 0 && millis() < 10000) Particle.process(); // this waits here till you connect via Serial and hit a key (or max 10sec)
  
  if (!waitFor(WiFi.ready, 10000))
    Serial.println("Not able to connect to WiFi for 10sec");
  else
  {
    Particle.process();
    Serial.printlnf("Here we go\nSSID\t: %s", WiFi.SSID());
    Particle.process();
    Serial.printlnf("localIP\t: %s", WiFi.localIP().toString().c_str());
  }
}

void loop()
{
  int c = Serial.read();
  switch (c)
  {
    case -1:
      // nothing to read, so ignore
      break;
    case '\r':          // hit emter to connect
      Serial.println("Try to connect to cloud");
      Particle.connect();
      Serial.println("See cyan blinking?");
    default:
      Serial.write(c);  // echo what we got
  }    
}

What color sequences do you see on the RGB LED?
Maybe post a video, since each step of the connection process has its own blink pattern, this gives you a good clue where the device is and which parts may be problematic (e.g. taking ages, timing out).