== Goal ==
* Ask users to provide sources before they start writing.
* Help users understand what counts as a good source.
* Use community-defined lists of recommended and discouraged sources.
== When to show ==
This step appears after the notability check (T415485). If the user passed all community checks, they land here. The user can add links to sources that support their topic. By default this step is optional, the user can skip it and add sources later while writing. If the article type carries the sources flag (defined in T415485), this step becomes mandatory, the user must provide sources before they can continue.
== Core flow ==
# User sees a prompt explaining why sources matter.
# User pastes one or more URLs.
# System may show feedback based on community source lists.
# User continues to next step.
== Entry points ==
| From | When |
| --- | --- |
| T415485 — Notability check | User passed all community checks|
| T415483 — Article type selection | Direct flow (if notability check is not configured for this wiki)|
== Exit conditions ==
| Outcome | What happens next |
| --- | --- |
| User clicks Continue (with or without sources) | Proceeds to T415486 — Content guidance |
| User clicks back | Returns to previous step |
== Designs ==
{F72393942 size=full}
States shown left to right:
1. Empty: input field, tips expanded, Continue enabled
2. URL pasted: checking source against community lists
3. Source approved: green checkmark, source title shown
4. Discouraged URL pasted: checking
5. Source not recommended: warning shown, tips collapsed
6. Source not recommended + tips expanded: shows what works and what doesn't
== Layout ==
=== Header ===
Reuses the same header pattern as T414902 and T415483.
=== Title block ===
=== Sources section ===
* Heading: "Add sources" — `--font-size-large`, `font-weight: 700`, `--color-base`
* Subtitle: "Sources helps readers check the facts and shows why this topic matters." — `--font-size-small`, `--color subtle`
== States ==
Tips content (what makes a good source, what to avoid) is community-defined via community source lists.
=== State 1: Empty ===
Input field visible. Tips section expanded showing what makes a good source. Continue button enabled. For mandatory mode behavior, see T418373.
=== State 2: URL pasted (checking) ===
{F72480905 width=360}
User pastes a URL into the input. System checks it against community source lists. Input disabled during check.
* `CdxTextInput` — holds the pasted URL, disabled state during check
* `CdxProgressIndicator` — inline, shown next to status text
* Status text: "Checking this source..." — `--font-size-small`, `--color-subtle`
=== State 3: Source approved ===
Green success message: source looks usable. Source title resolved from URL. A new empty input appears below for the next source.
=== State 4: Discouraged URL (checking) ===
Same checking behavior as State 2. Progress indicator shown while system checks the URL.
=== State 5: Source not recommended ===
Warning message shown. Tips section expands, showing what works and what doesn't as guidance. User can still continue, the the warning is informational, not blocking.