Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate PostInstall Laravel Prompts #348

Merged

Conversation

marcorieser
Copy link
Contributor

@marcorieser marcorieser commented Sep 11, 2023

Changes proposed in this pull request:
Use Laravel Prompts for PostInstall Script

Issues

  • LaravelLang is not available after installation when using CLI. Used current implementation for now.
  • There is no interaction (Prompts use the default values) when installing via cli tool (statamic new project studio1902/statamic-peak) (Laravel Prompts in Starter Kit not interactive statamic/cli#62). For now, we reapply the interaction state based on the passed options. But seems a bug in Prompts.

@marcorieser
Copy link
Contributor Author

Removed the population of language options based on the Laravel Lang package since the classes were not available when installing via CLI. Ended up with a similar approach to the current implementation.

Just for the record (if we ever want to give it another shot to implement it):

protected function selectLanguageToInstall(Collection $installedLanguages): string
{
    return suggest(
        label: 'Handle of language (submit empty when you\'re done)'
        options: fn($value) => collect(\LaravelLang\Locales\Facades\Locales::raw()->available())
            ->filter(fn(string $language) => str_contains($language, $value) && !$installedLanguages->contains($language))
            ->values()
            ->toArray(),
        validate: fn(string $value) => match (true) {
            $value && !\LaravelLang\Locales\Facades\Locales::isAvailable($value) => 'Not supported by Laravel Lang.',
            $value && $installedLanguages->contains($value) => "Language \"{$value}\" already installed."
            default => null,
        },
        hint: $installedLanguages->isNotEmpty() ? 'Installed: ' . $installedLanguages->join(', ', ' and ') : '',
    );
}

@marcorieser marcorieser marked this pull request as ready for review November 1, 2023 14:30
@robdekort robdekort merged commit 56c4350 into studio1902:main Nov 1, 2023
1 check passed
@robdekort
Copy link
Contributor

This is awesome. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants