Skip to content

Show not-installed packages on Modules page with install instructions - #414

Merged
ddon merged 1 commit into
BeamLabEU:devfrom
timujinne:dev
Mar 15, 2026
Merged

Show not-installed packages on Modules page with install instructions#414
ddon merged 1 commit into
BeamLabEU:devfrom
timujinne:dev

Conversation

@timujinne

Copy link
Copy Markdown
Contributor

Summary

Adds a section to the admin Modules page that displays known PhoenixKit packages which are not yet installed, along with install instructions.

Changes

  • ModuleRegistry.not_installed_packages/0 — filters known_external_packages/0 via Code.ensure_loaded?
  • ModuleRegistry — private known_external_packages/0 list (currently: phoenix_kit_newsletters)
  • Admin Modules page — new "Available Packages" section with cards for uninstalled packages

UX

Each card shows:

  • Package name, icon, and description
  • Badge "Not installed"
  • Link to Hex.pm
  • Ready-to-copy mix.exs line: {:phoenix_kit_newsletters, "~> 0.1"}

The section only appears when there are uninstalled known packages. Once a package is added to deps and the app is restarted, the card disappears and the module appears in the main grid as a regular external module.

Test plan

  • mix compile --warnings-as-errors passes
  • mix credo --strict — no issues
  • Dialyzer passes

@ddon
ddon merged commit ee4027b into BeamLabEU:dev Mar 15, 2026
6 checks passed
ddon added a commit that referenced this pull request Mar 15, 2026
…le SQS broadcast counter

- Extract duplicated permission check in roles template into @can_manage_permissions assign
- Replace Module.concat("Broadcast") with newsletters_mod.increment_broadcast_counter/2 call
- Remove unused Ecto.Query import from SQS processor
- Add PR review files for #413 and #414

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

2 participants