Skip to content

fix: move icons from fontawesome to lucide#48

Merged
barredterra merged 1 commit into
developfrom
icons
Jul 13, 2026
Merged

fix: move icons from fontawesome to lucide#48
barredterra merged 1 commit into
developfrom
icons

Conversation

@barredterra

@barredterra barredterra commented Jul 13, 2026

Copy link
Copy Markdown
Member

FA no longer ships with frappe. frappe/frappe#40571

@greptile-apps

greptile-apps Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Confidence Score: 5/5

This is a straightforward icon-library swap with no functional logic changes; the only behavioural difference is that the download button shows nothing (instead of the placeholder text 'SVG') when frappe.utils.icon is unavailable.

All FontAwesome references are replaced with valid Lucide icon names through a well-guarded helper. The CSS updates are consistent with SVG stroke-based colouring. No data paths, event handlers, or API calls are modified.

No files require special attention.

Sequence Diagram

%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
    participant UI as UI Component
    participant getIcon as getIcon()
    participant frappe as frappe.utils.icon()
    participant Lucide as Lucide SVG

    UI->>getIcon: getIcon(name, size, svgClass, currentColor)
    alt frappe.utils.icon is available
        getIcon->>frappe: frappe.utils.icon(name, size, "", "", svgClass, currentColor)
        frappe->>Lucide: resolve SVG by name
        Lucide-->>frappe: SVG markup
        frappe-->>getIcon: SVG string
        getIcon-->>UI: SVG string (rendered inline)
    else frappe.utils.icon unavailable
        getIcon-->>UI: "" (empty string — no icon shown)
    end
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
    participant UI as UI Component
    participant getIcon as getIcon()
    participant frappe as frappe.utils.icon()
    participant Lucide as Lucide SVG

    UI->>getIcon: getIcon(name, size, svgClass, currentColor)
    alt frappe.utils.icon is available
        getIcon->>frappe: frappe.utils.icon(name, size, "", "", svgClass, currentColor)
        frappe->>Lucide: resolve SVG by name
        Lucide-->>frappe: SVG markup
        frappe-->>getIcon: SVG string
        getIcon-->>UI: SVG string (rendered inline)
    else frappe.utils.icon unavailable
        getIcon-->>UI: "" (empty string — no icon shown)
    end
Loading

Reviews (2): Last reviewed commit: "fix: move icons from fontawesome to luci..." | Re-trigger Greptile

FA no longer ships with frappe.
@barredterra
barredterra merged commit b7bc3a6 into develop Jul 13, 2026
5 checks passed
@barredterra
barredterra deleted the icons branch July 13, 2026 01:53
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.

1 participant