diff --git a/app/Livewire/CreateCode.php b/app/Livewire/CreateCode.php index c062bb5..f688f64 100644 --- a/app/Livewire/CreateCode.php +++ b/app/Livewire/CreateCode.php @@ -8,6 +8,7 @@ class CreateCode extends Component { public string $message; + private array $umlaute = ['ö', 'ä', 'ü', "ß"]; protected array $symbols = [ 'enable', @@ -36,18 +37,42 @@ class CreateCode extends Component 'tools_power_drill', 'nest_eco_leaf', 'air_freshener', + 'favorite', + 'bolt', + 'key', + 'sunny', + ]; #[Computed(persist: true)] public function letters(): array { shuffle($this->symbols); - - return collect(range('a', 'z')) + return collect([...range('a', 'z'), ...$this->umlaute]) ->combine($this->symbols) ->toArray(); } + /** + * Display german umlaut only if present in the message + */ + public function legendLetters(string $message): array + { + + if (count(array_intersect(mb_str_split($message), $this->umlaute)) == 0) { + return array_filter($this->letters, function ($key) { + return !in_array($key, $this->umlaute); + }, ARRAY_FILTER_USE_KEY); + } + + // get uppercase ß + $letters = $this->letters; + $letters['ẞ'] = $letters["ß"]; + unset($letters['ß']); + + return $letters; + } + public function render() { return view('livewire.create-code'); diff --git a/resources/views/components/code.blade.php b/resources/views/components/code.blade.php index 46c07c3..7ebe543 100644 --- a/resources/views/components/code.blade.php +++ b/resources/views/components/code.blade.php @@ -6,10 +6,10 @@