Files
windwiderstand/scripts/icon-map.mjs
T
Peter Meier 0ab2c58eb4
Deploy / verify (push) Successful in 1m26s
Deploy / deploy (push) Successful in 2m26s
feat(header): icon nav redesign + migrate icons mdi→lucide
- Header desktop nav: social icons grouped in a wald-tinted pill with
  labels, active-state (aria-current + bold), opacity hover (no per-item bg)
- Mobile overlay: social links as icon+label rows with active-state
- Search button: lucide:search, icon-only
- Migrate all icons mdi→lucide app-wide (234 refs); brand/language logos
  (google, whatsapp, mastodon, telegram, language-*) stay on mdi
- generate-icons: emit mdi + lucide subsets; add @iconify-json/lucide
- iconify-offline: register lucide collection
- scripts/icon-map|validate|apply: reusable migration tooling

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 10:44:56 +02:00

105 lines
3.2 KiB
JavaScript

// mdi -> lucide migration map. Names without a sensible lucide pendant
// (brand/language logos) intentionally stay on mdi — listed in KEEP_MDI.
export const KEEP_MDI = new Set([
'google', 'whatsapp', 'mastodon', // brands missing in lucide
'language-javascript', 'language-python', 'language-rust', // language logos
]);
export const MAP = {
'account-group-outline': 'users',
'alert-circle': 'circle-alert',
'alert-circle-outline': 'circle-alert',
'arrow-right': 'arrow-right',
'arrow-top-right': 'arrow-up-right',
'calendar': 'calendar',
'calendar-blank': 'calendar',
'calendar-clock': 'calendar-clock',
'calendar-export': 'calendar-arrow-up',
'calendar-month-outline': 'calendar',
'calendar-plus': 'calendar-plus',
'calendar-search': 'calendar-search',
'card-account-details-outline': 'id-card',
'check': 'check',
'check-circle': 'circle-check',
'check-decagram': 'badge-check',
'chevron-down': 'chevron-down',
'chevron-left': 'chevron-left',
'chevron-right': 'chevron-right',
'chevron-up': 'chevron-up',
'clock-alert-outline': 'alarm-clock',
'clock-outline': 'clock',
'clock-remove-outline': 'clock-fading',
'close': 'x',
'cloud': 'cloud',
'cloud-off-outline': 'cloud-off',
'code-json': 'braces',
'comment-outline': 'message-circle',
'comment-text-outline': 'message-square-text',
'console': 'terminal',
'content-copy': 'copy',
'content-save-outline': 'save',
'cursor-default-click': 'mouse-pointer-click',
'cursor-default-click-outline': 'mouse-pointer-click',
'database-outline': 'database',
'domain': 'building-2',
'download': 'download',
'download-outline': 'download',
'drag-vertical': 'grip-vertical',
'email': 'mail',
'email-outline': 'mail',
'facebook': 'facebook',
'file-document-edit-outline': 'file-pen',
'file-document-outline': 'file-text',
'file-download': 'file-down',
'file-excel-box': 'file-spreadsheet',
'file-image': 'file-image',
'file-outline': 'file',
'file-pdf-box': 'file-text',
'file-powerpoint-box': 'presentation',
'file-word-box': 'file-text',
'flag-outline': 'flag',
'folder-zip': 'folder-archive',
'format-text-variant-outline': 'type',
'home': 'house',
'home-group': 'house',
'home-outline': 'house',
'image-outline': 'image',
'information-outline': 'info',
'link': 'link',
'link-variant': 'link',
'loading': 'loader-circle',
'magnify': 'search',
'magnify-plus': 'zoom-in',
'map': 'map',
'map-marker': 'map-pin',
'map-marker-outline': 'map-pin',
'map-outline': 'map',
'menu': 'menu',
'open-in-new': 'external-link',
'pencil-outline': 'pencil',
'phone': 'phone',
'phone-outline': 'phone',
'play': 'play',
'printer': 'printer',
'printer-outline': 'printer',
'qrcode': 'qr-code',
'refresh': 'refresh-cw',
'reply': 'reply',
'robot-outline': 'bot',
'rss': 'rss',
'ruler-square': 'ruler',
'share-variant': 'share-2',
'share-variant-outline': 'share-2',
'shield-check-outline': 'shield-check',
'sort-alphabetical-ascending': 'arrow-down-a-z',
'transmission-tower': 'radio-tower',
'trash-can-outline': 'trash-2',
'tune': 'sliders-horizontal',
'tune-variant': 'sliders-horizontal',
'vector-square': 'square-dashed',
'video': 'video',
'wind-turbine': 'fan',
'xml': 'code',
'youtube': 'youtube',
};