diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index bb6838f3..fa8611d4 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -1,30 +1,108 @@ middleware('auth'); } + /** + * @description Get the Background Color for the Days-Left-Box in HomeView + * + * @param float $days + * + * @return string + */ + public function getTimeLeftBoxBackground(float $days) + { + switch ($days) + { + case ($days >= 15): + return $this::TIME_LEFT_BG_SUCCESS; + break; + + case ($days >= 8 && $days <= 14): + return $this::TIME_LEFT_BG_WARNING; + break; + + case ($days <= 7): + return $this::TIME_LEFT_BG_DANGER; + break; + + default: + return $this::TIME_LEFT_BG_WARNING; + } + } + + /** + * @description Get the Text for the Days-Left-Box in HomeView + * + * @param float $days + * @param float $hours + * + * @return string + */ + public function getTimeLeftBoxText(float $days, float $hours) + { + if ($days < 1) + { + if ($hours < 1) + { + return $this::TIME_LEFT_OUT_OF_CREDITS_TEXT; + } + else + { + return strval($hours); + } + } + return strval(number_format($days, 0)); + } + /** Show the application dashboard. */ public function index(Request $request) { - $usage = 0; + $usage = Auth::user()->creditUsage(); + $credits = Auth::user()->Credits(); + $bg = ""; + $boxText = ""; + $unit = ""; + + /** Build our Time-Left-Box */ + if ($credits > 0.01 and $usage > 0) + { + $days = number_format(($credits * 30) / $usage, 2, '.', ''); + $hours = number_format($credits / ($usage / 30 / 24) , 2, '.', ''); + + $bg = $this->getTimeLeftBoxBackground($days); + $boxText = $this->getTimeLeftBoxText($days, $hours); + $unit = $days < 1 ? 'hours' : 'days'; - foreach (Auth::user()->servers as $server){ - $usage += $server->product->price; } + + + // RETURN ALL VALUES return view('home')->with([ 'useage' => $usage, - 'useful_links' => UsefulLink::all()->sortBy('id') + 'credits' => $credits, + 'useful_links' => UsefulLink::all()->sortBy('id'), + 'bg' => $bg, + 'boxText' => $boxText, + 'unit' => $unit ]); } + } + diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 50b2d0db..ee44e0e4 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -67,40 +67,26 @@ - @if(Auth::user()->Credits() > 0.01 and $useage > 0) -