mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-18 06:49:40 +02:00
Projects included: - maerchenzauber (NestJS backend + Expo mobile + SvelteKit web + Astro landing) - manacore (Expo mobile + SvelteKit web + Astro landing) - manadeck (NestJS backend + Expo mobile + SvelteKit web) - memoro (Expo mobile + SvelteKit web + Astro landing) This commit preserves the current state before monorepo restructuring. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
446 lines
No EOL
8.9 KiB
TypeScript
446 lines
No EOL
8.9 KiB
TypeScript
export interface IconMapping {
|
|
ionicon: string;
|
|
sfSymbol: string;
|
|
}
|
|
|
|
export const iconMap: Record<string, IconMapping> = {
|
|
// Navigation
|
|
'chevron-back': {
|
|
ionicon: 'chevron-back',
|
|
sfSymbol: 'chevron.left',
|
|
},
|
|
'chevron-forward': {
|
|
ionicon: 'chevron-forward',
|
|
sfSymbol: 'chevron.right',
|
|
},
|
|
'arrow-back': {
|
|
ionicon: 'arrow-back',
|
|
sfSymbol: 'arrow.left',
|
|
},
|
|
'chevron-down': {
|
|
ionicon: 'chevron-down',
|
|
sfSymbol: 'chevron.down',
|
|
},
|
|
'chevron-up': {
|
|
ionicon: 'chevron-up',
|
|
sfSymbol: 'chevron.up',
|
|
},
|
|
|
|
// Actions
|
|
'mic-outline': {
|
|
ionicon: 'mic-outline',
|
|
sfSymbol: 'mic',
|
|
},
|
|
'mic': {
|
|
ionicon: 'mic',
|
|
sfSymbol: 'mic.fill',
|
|
},
|
|
'create-outline': {
|
|
ionicon: 'create-outline',
|
|
sfSymbol: 'pencil',
|
|
},
|
|
'create': {
|
|
ionicon: 'create',
|
|
sfSymbol: 'pencil.circle.fill',
|
|
},
|
|
'share-outline': {
|
|
ionicon: 'share-outline',
|
|
sfSymbol: 'square.and.arrow.up',
|
|
},
|
|
'refresh': {
|
|
ionicon: 'refresh',
|
|
sfSymbol: 'arrow.clockwise',
|
|
},
|
|
'add': {
|
|
ionicon: 'add',
|
|
sfSymbol: 'plus',
|
|
},
|
|
'trash-outline': {
|
|
ionicon: 'trash-outline',
|
|
sfSymbol: 'trash',
|
|
},
|
|
'trash': {
|
|
ionicon: 'trash',
|
|
sfSymbol: 'trash.fill',
|
|
},
|
|
|
|
// UI Elements
|
|
'close': {
|
|
ionicon: 'close',
|
|
sfSymbol: 'xmark',
|
|
},
|
|
'checkmark': {
|
|
ionicon: 'checkmark',
|
|
sfSymbol: 'checkmark',
|
|
},
|
|
'ellipsis-horizontal': {
|
|
ionicon: 'ellipsis-horizontal',
|
|
sfSymbol: 'ellipsis',
|
|
},
|
|
'menu': {
|
|
ionicon: 'menu',
|
|
sfSymbol: 'line.3.horizontal',
|
|
},
|
|
|
|
// Tab Icons
|
|
'archive-outline': {
|
|
ionicon: 'archive-outline',
|
|
sfSymbol: 'archivebox',
|
|
},
|
|
'archive': {
|
|
ionicon: 'archive',
|
|
sfSymbol: 'archivebox.fill',
|
|
},
|
|
'folder-outline': {
|
|
ionicon: 'folder-outline',
|
|
sfSymbol: 'folder',
|
|
},
|
|
'folder': {
|
|
ionicon: 'folder',
|
|
sfSymbol: 'folder.fill',
|
|
},
|
|
|
|
// Menu/Settings
|
|
'settings-outline': {
|
|
ionicon: 'settings-outline',
|
|
sfSymbol: 'gearshape',
|
|
},
|
|
'settings': {
|
|
ionicon: 'settings',
|
|
sfSymbol: 'gearshape.fill',
|
|
},
|
|
|
|
// Content
|
|
'document-text-outline': {
|
|
ionicon: 'document-text-outline',
|
|
sfSymbol: 'doc.text',
|
|
},
|
|
'document-text': {
|
|
ionicon: 'document-text',
|
|
sfSymbol: 'doc.text.fill',
|
|
},
|
|
'image-outline': {
|
|
ionicon: 'image-outline',
|
|
sfSymbol: 'photo',
|
|
},
|
|
'image': {
|
|
ionicon: 'image',
|
|
sfSymbol: 'photo.fill',
|
|
},
|
|
'camera-outline': {
|
|
ionicon: 'camera-outline',
|
|
sfSymbol: 'camera',
|
|
},
|
|
'camera': {
|
|
ionicon: 'camera',
|
|
sfSymbol: 'camera.fill',
|
|
},
|
|
|
|
// Social
|
|
'heart-outline': {
|
|
ionicon: 'heart-outline',
|
|
sfSymbol: 'heart',
|
|
},
|
|
'heart': {
|
|
ionicon: 'heart',
|
|
sfSymbol: 'heart.fill',
|
|
},
|
|
'star-outline': {
|
|
ionicon: 'star-outline',
|
|
sfSymbol: 'star',
|
|
},
|
|
'star': {
|
|
ionicon: 'star',
|
|
sfSymbol: 'star.fill',
|
|
},
|
|
'bookmark-outline': {
|
|
ionicon: 'bookmark-outline',
|
|
sfSymbol: 'bookmark',
|
|
},
|
|
'bookmark': {
|
|
ionicon: 'bookmark',
|
|
sfSymbol: 'bookmark.fill',
|
|
},
|
|
|
|
// Functional
|
|
'search-outline': {
|
|
ionicon: 'search-outline',
|
|
sfSymbol: 'magnifyingglass',
|
|
},
|
|
'search': {
|
|
ionicon: 'search',
|
|
sfSymbol: 'magnifyingglass.circle.fill',
|
|
},
|
|
'filter-outline': {
|
|
ionicon: 'filter-outline',
|
|
sfSymbol: 'line.3.horizontal.decrease.circle',
|
|
},
|
|
'filter': {
|
|
ionicon: 'filter',
|
|
sfSymbol: 'line.3.horizontal.decrease.circle.fill',
|
|
},
|
|
'sync-outline': {
|
|
ionicon: 'sync-outline',
|
|
sfSymbol: 'arrow.triangle.2.circlepath',
|
|
},
|
|
|
|
// Additional commonly used icons
|
|
'play': {
|
|
ionicon: 'play',
|
|
sfSymbol: 'play.fill',
|
|
},
|
|
'pause': {
|
|
ionicon: 'pause',
|
|
sfSymbol: 'pause.fill',
|
|
},
|
|
'stop': {
|
|
ionicon: 'stop',
|
|
sfSymbol: 'stop.fill',
|
|
},
|
|
'pin-outline': {
|
|
ionicon: 'pin-outline',
|
|
sfSymbol: 'pin',
|
|
},
|
|
'pin': {
|
|
ionicon: 'pin',
|
|
sfSymbol: 'pin.fill',
|
|
},
|
|
'location-outline': {
|
|
ionicon: 'location-outline',
|
|
sfSymbol: 'location',
|
|
},
|
|
'location': {
|
|
ionicon: 'location',
|
|
sfSymbol: 'location.fill',
|
|
},
|
|
'globe-outline': {
|
|
ionicon: 'globe-outline',
|
|
sfSymbol: 'globe',
|
|
},
|
|
'person-outline': {
|
|
ionicon: 'person-outline',
|
|
sfSymbol: 'person',
|
|
},
|
|
'person': {
|
|
ionicon: 'person',
|
|
sfSymbol: 'person.fill',
|
|
},
|
|
'people-outline': {
|
|
ionicon: 'people-outline',
|
|
sfSymbol: 'person.2',
|
|
},
|
|
'people': {
|
|
ionicon: 'people',
|
|
sfSymbol: 'person.2.fill',
|
|
},
|
|
'clipboard-outline': {
|
|
ionicon: 'clipboard-outline',
|
|
sfSymbol: 'list.bullet.clipboard',
|
|
},
|
|
'clipboard': {
|
|
ionicon: 'clipboard',
|
|
sfSymbol: 'list.bullet.clipboard.fill',
|
|
},
|
|
'copy-outline': {
|
|
ionicon: 'copy-outline',
|
|
sfSymbol: 'doc.on.doc',
|
|
},
|
|
'copy': {
|
|
ionicon: 'copy',
|
|
sfSymbol: 'doc.on.doc.fill',
|
|
},
|
|
'download-outline': {
|
|
ionicon: 'download-outline',
|
|
sfSymbol: 'arrow.down.circle',
|
|
},
|
|
'download': {
|
|
ionicon: 'download',
|
|
sfSymbol: 'arrow.down.circle.fill',
|
|
},
|
|
'cloud-outline': {
|
|
ionicon: 'cloud-outline',
|
|
sfSymbol: 'cloud',
|
|
},
|
|
'cloud': {
|
|
ionicon: 'cloud',
|
|
sfSymbol: 'cloud.fill',
|
|
},
|
|
'cloud-done-outline': {
|
|
ionicon: 'cloud-done-outline',
|
|
sfSymbol: 'checkmark.icloud',
|
|
},
|
|
'cloud-done': {
|
|
ionicon: 'cloud-done',
|
|
sfSymbol: 'checkmark.icloud.fill',
|
|
},
|
|
'warning-outline': {
|
|
ionicon: 'warning-outline',
|
|
sfSymbol: 'exclamationmark.triangle',
|
|
},
|
|
'warning': {
|
|
ionicon: 'warning',
|
|
sfSymbol: 'exclamationmark.triangle.fill',
|
|
},
|
|
'information-circle-outline': {
|
|
ionicon: 'information-circle-outline',
|
|
sfSymbol: 'info.circle',
|
|
},
|
|
'information-circle': {
|
|
ionicon: 'information-circle',
|
|
sfSymbol: 'info.circle.fill',
|
|
},
|
|
'help-circle-outline': {
|
|
ionicon: 'help-circle-outline',
|
|
sfSymbol: 'questionmark.circle',
|
|
},
|
|
'help-circle': {
|
|
ionicon: 'help-circle',
|
|
sfSymbol: 'questionmark.circle.fill',
|
|
},
|
|
'calendar-outline': {
|
|
ionicon: 'calendar-outline',
|
|
sfSymbol: 'calendar',
|
|
},
|
|
'time-outline': {
|
|
ionicon: 'time-outline',
|
|
sfSymbol: 'clock',
|
|
},
|
|
'time': {
|
|
ionicon: 'time',
|
|
sfSymbol: 'clock.fill',
|
|
},
|
|
'mail-outline': {
|
|
ionicon: 'mail-outline',
|
|
sfSymbol: 'envelope',
|
|
},
|
|
'mail': {
|
|
ionicon: 'mail',
|
|
sfSymbol: 'envelope.fill',
|
|
},
|
|
'lock-closed-outline': {
|
|
ionicon: 'lock-closed-outline',
|
|
sfSymbol: 'lock',
|
|
},
|
|
'lock-closed': {
|
|
ionicon: 'lock-closed',
|
|
sfSymbol: 'lock.fill',
|
|
},
|
|
'key-outline': {
|
|
ionicon: 'key-outline',
|
|
sfSymbol: 'key',
|
|
},
|
|
'exit-outline': {
|
|
ionicon: 'exit-outline',
|
|
sfSymbol: 'rectangle.portrait.and.arrow.right',
|
|
},
|
|
'log-out-outline': {
|
|
ionicon: 'log-out-outline',
|
|
sfSymbol: 'rectangle.portrait.and.arrow.right',
|
|
},
|
|
'checkmark-circle-outline': {
|
|
ionicon: 'checkmark-circle-outline',
|
|
sfSymbol: 'checkmark.circle',
|
|
},
|
|
'checkmark-circle': {
|
|
ionicon: 'checkmark-circle',
|
|
sfSymbol: 'checkmark.circle.fill',
|
|
},
|
|
'close-circle-outline': {
|
|
ionicon: 'close-circle-outline',
|
|
sfSymbol: 'xmark.circle',
|
|
},
|
|
'close-circle': {
|
|
ionicon: 'close-circle',
|
|
sfSymbol: 'xmark.circle.fill',
|
|
},
|
|
'flash-outline': {
|
|
ionicon: 'flash-outline',
|
|
sfSymbol: 'bolt',
|
|
},
|
|
'flash': {
|
|
ionicon: 'flash',
|
|
sfSymbol: 'bolt.fill',
|
|
},
|
|
'language-outline': {
|
|
ionicon: 'language-outline',
|
|
sfSymbol: 'globe',
|
|
},
|
|
'language': {
|
|
ionicon: 'language',
|
|
sfSymbol: 'globe.americas.fill',
|
|
},
|
|
'sparkles-outline': {
|
|
ionicon: 'sparkles-outline',
|
|
sfSymbol: 'sparkles',
|
|
},
|
|
'sparkles': {
|
|
ionicon: 'sparkles',
|
|
sfSymbol: 'sparkles',
|
|
},
|
|
'list-outline': {
|
|
ionicon: 'list-outline',
|
|
sfSymbol: 'list.bullet.clipboard',
|
|
},
|
|
'list': {
|
|
ionicon: 'list',
|
|
sfSymbol: 'list.bullet.clipboard.fill',
|
|
},
|
|
'volume-high-outline': {
|
|
ionicon: 'volume-high-outline',
|
|
sfSymbol: 'speaker.wave.3',
|
|
},
|
|
'volume-high': {
|
|
ionicon: 'volume-high',
|
|
sfSymbol: 'speaker.wave.3.fill',
|
|
},
|
|
'waveform': {
|
|
ionicon: 'pulse-outline',
|
|
sfSymbol: 'waveform',
|
|
},
|
|
'pricetag-outline': {
|
|
ionicon: 'pricetag-outline',
|
|
sfSymbol: 'tag',
|
|
},
|
|
'pricetag': {
|
|
ionicon: 'pricetag',
|
|
sfSymbol: 'tag.fill',
|
|
},
|
|
'bar-chart-outline': {
|
|
ionicon: 'bar-chart-outline',
|
|
sfSymbol: 'chart.bar',
|
|
},
|
|
'bar-chart': {
|
|
ionicon: 'bar-chart',
|
|
sfSymbol: 'chart.bar.fill',
|
|
},
|
|
'cloud-upload-outline': {
|
|
ionicon: 'cloud-upload-outline',
|
|
sfSymbol: 'icloud.and.arrow.up',
|
|
},
|
|
'cloud-upload': {
|
|
ionicon: 'cloud-upload',
|
|
sfSymbol: 'icloud.and.arrow.up.fill',
|
|
},
|
|
'water-outline': {
|
|
ionicon: 'water-outline',
|
|
sfSymbol: 'drop',
|
|
},
|
|
'water': {
|
|
ionicon: 'water',
|
|
sfSymbol: 'drop.fill',
|
|
},
|
|
'ellipsis-vertical': {
|
|
ionicon: 'ellipsis-vertical',
|
|
sfSymbol: 'ellipsis',
|
|
},
|
|
};
|
|
|
|
// Helper function to get mapping
|
|
export function getIconMapping(name: string): IconMapping | undefined {
|
|
return iconMap[name];
|
|
}
|
|
|
|
// Helper to check if icon has mapping
|
|
export function hasIconMapping(name: string): boolean {
|
|
return name in iconMap;
|
|
} |