Source / Repository detail

{@source.repo}

On {@source.connection.base_url}, every {@source.interval_seconds}s.

<.link href={~p"/sources"} class="gs-button-secondary">All sources
{if(@source.enabled, do: "Enabled", else: "Disabled")}
Source forge
{@source.connection.base_url}
Sync interval
Every {@source.interval_seconds} seconds
Destinations
{length(@source.destinations)} configured
<.button href={~p"/sources/#{@source}/sync"} method="post" class="gs-button">Sync now <.form for={%{}} action={~p"/sources/#{@source}"} method="put"> <.button id="toggle-source" type="submit" variant="secondary" class="gs-button-secondary"> {(@source.enabled && "Switch off") || "Switch on"} <.button href={~p"/sources/#{@source}"} method="delete" variant="secondary" class="gs-button-danger" data-confirm="Remove this source and its destinations?" > Remove

Configuration

Destinations

{length(@source.destinations)} configured

No destinations configured.

Destinations for {@source.repo}
Repository Forge State Actions
{destination.repo} {destination.connection.base_url} {if(destination.enabled, do: "Enabled", else: "Disabled")}
<.form for={%{}} action={~p"/sources/#{@source}/destinations/#{destination}"} method="put" > <.button id={"toggle-destination-#{destination.id}"} type="submit" variant="secondary" class="gs-button-secondary" aria-label={"#{if(destination.enabled, do: "Switch off", else: "Switch on")} destination #{destination.repo} on #{destination.connection.base_url}"} > {(destination.enabled && "Switch off") || "Switch on"} <.link href={~p"/sources/#{@source}/destinations/#{destination}"} method="delete" class="gs-button-danger" data-confirm="Remove this destination?" aria-label={"Remove destination #{destination.repo} on #{destination.connection.base_url}"} > Remove
<.form for={@form} id="destination-form" action={~p"/sources/#{@source}/destinations"} class="gs-panel gs-section" >

Add a destination

<.forge_field field={@form[:connection_id]} label="Destination forge" options={@connection_options} />
<.repo_field id="destination-repo-field" field={@form[:repo]} label="Destination repository" repos={@destination_repos} />
<.button id="add-destination" type="submit" class="gs-button">Add destination

Activity

Runs

Updates live
<.runs runs={@runs} />