Passed
Push — main ( e005e2...1bd9df )
by N.
03:40
created

Mall::markup()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 41
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 15
CRAP Score 1.0002

Importance

Changes 0
Metric Value
cc 1
eloc 18
nc 1
nop 2
dl 0
loc 41
ccs 15
cts 16
cp 0.9375
crap 1.0002
rs 9.6666
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * Klass Visa.
5
 * @author Niklas Dougherty
6
 */
7
8
declare(strict_types=1);
9
10
namespace Tips\Klasser\Spelade;
11
12
use Tips\Klasser\Vinstspridning;
13
14
/**
15
 * Klass Visa.
16
 * Rendera spelade rader med grafer och information.
17
 * Tom graf visas då inga genererade rader finns.
18
 */
19
class Mall extends Rader {
20
	/**
21
	 * Eka ut modul i relevant flik.
22
	 */
23 1
	protected function markup(string $radknapp, string $kombinationsgraf): void {
24
		/**
25
		 * Rendera graf med vinstspridning.
26
		 */
27 1
		$produkt = ucfirst($this->utdelning->spel->speltyp->produktnamn());
28 1
		$vinstspridningsgraf = (new Vinstspridning($this->utdelning->tipsrad_012))->visa_vinstspridning();
29
30
		/**
31
		 * Andel valda rader har bara relevans då genererade rader finns.
32
		 */
33 1
		$andel = match ($this->antal_genererade > 0) {
34 1
			true => number_format(100 * $this->antal_utvalda_rader / $this->antal_genererade, 2),
35
			false => ''
36 1
		};
37
38
		/**
39
		 * HTML-mall för modulen.
40
		 * Definiera även en slumpad snabbrad från utvalda rader.
41
		 */
42 1
		echo <<< EOT
43 1
			<div id="flikar-spelat">
44
				<div class="spelade-grid">
45
					<div class="grid-spelade-rader">
46
						<h1>Spelade</h1>
47 1
						<p>$produkt {$this->utdelning->spel->omgång}</p>
48
						<div class="tipsrader" style="padding-right: 2em;">
49 1
{$this->snabbrad()}
50 1
$radknapp{$this->spelade_rader()}
51
						</div>	<!-- tipsrader -->
52
					</div>	<!-- grid-spelade-rader -->
53
					<div class="grid-graf">
54 1
						<p><strong>Spelade rader</strong>: {$this->antal_utvalda_rader} / {$this->antal_genererade} rader ($andel %)<br>
55
							<span style="color: #0ff;">13 rätt</span>
56
							<span style="color: #f0f;">12 rätt</span>
57
							<span style="color: #fff;">11 rätt</span>
58
							<span style="color: #0f0;">10 rätt</span>
59
						</p>
60
						<div>
61 1
							<p>{$this->tipsgraf}</p>
62 1
							<p>$vinstspridningsgraf</p>
63 1
							<p>$kombinationsgraf</p>
64
						</div>
65
					</div>	<!-- grid-graf -->
66
				</div> <!-- spelade-grid -->
67
			</div> <!-- flikar-spelat -->
68
69 1
EOT;
70
	}
71
}
72