Openstatus www.openstatus.dev

feat: icons package (#1352)

authored by

Maximilian Kaske and committed by
GitHub
9136d873 d3fb165a

+256 -8
+1
apps/dashboard/package.json
··· 29 29 "@openstatus/emails": "workspace:*", 30 30 "@openstatus/error": "workspace:*", 31 31 "@openstatus/header-analysis": "workspace:*", 32 + "@openstatus/icons": "workspace:*", 32 33 "@openstatus/notification-discord": "workspace:*", 33 34 "@openstatus/notification-emails": "workspace:*", 34 35 "@openstatus/notification-ntfy": "workspace:*",
+2 -2
apps/dashboard/src/app/(public)/login/page.tsx
··· 1 1 import Link from "next/link"; 2 2 3 - import { GitHubIcon } from "@/components/icons/github"; 4 - import { GoogleIcon } from "@/components/icons/google"; 5 3 import { Button } from "@/components/ui/button"; 6 4 import { Separator } from "@/components/ui/separator"; 7 5 import { signIn } from "@/lib/auth"; 6 + import { GitHubIcon } from "@openstatus/icons"; 7 + import { GoogleIcon } from "@openstatus/icons"; 8 8 import type { SearchParams } from "nuqs/server"; 9 9 import MagicLinkForm from "./_components/magic-link-form"; 10 10 import { searchParamsCache } from "./search-params";
apps/dashboard/src/components/icons/discord.tsx packages/icons/src/discord.tsx
apps/dashboard/src/components/icons/github.tsx packages/icons/src/github.tsx
apps/dashboard/src/components/icons/google.tsx packages/icons/src/google.tsx
apps/dashboard/src/components/icons/opsgenie.tsx packages/icons/src/opsgenie.tsx
apps/dashboard/src/components/icons/pagerduty.tsx packages/icons/src/pagerduty.tsx
apps/dashboard/src/components/icons/slack.tsx packages/icons/src/slack.tsx
+2 -2
apps/dashboard/src/components/nav/nav-help.tsx
··· 1 1 "use client"; 2 2 3 3 import { FormDialogSupportContact } from "@/components/forms/support-contact/dialog"; 4 - import { DiscordIcon } from "@/components/icons/discord"; 5 - import { GitHubIcon } from "@/components/icons/github"; 6 4 import { 7 5 DropdownMenu, 8 6 DropdownMenuContent, ··· 18 16 SidebarMenuItem, 19 17 } from "@/components/ui/sidebar"; 20 18 import { useSidebar } from "@/components/ui/sidebar"; 19 + import { DiscordIcon } from "@openstatus/icons"; 20 + import { GitHubIcon } from "@openstatus/icons"; 21 21 import { 22 22 Book, 23 23 Braces,
+4 -4
apps/dashboard/src/data/notifications.client.ts
··· 6 6 import { FormSlack } from "@/components/forms/notifications/form-slack"; 7 7 import { FormSms } from "@/components/forms/notifications/form-sms"; 8 8 import { FormWebhook } from "@/components/forms/notifications/form-webhook"; 9 - import { DiscordIcon } from "@/components/icons/discord"; 10 - import { OpsGenieIcon } from "@/components/icons/opsgenie"; 11 - import { PagerDutyIcon } from "@/components/icons/pagerduty"; 12 - import { SlackIcon } from "@/components/icons/slack"; 9 + import { DiscordIcon } from "@openstatus/icons"; 10 + import { OpsGenieIcon } from "@openstatus/icons"; 11 + import { PagerDutyIcon } from "@openstatus/icons"; 12 + import { SlackIcon } from "@openstatus/icons"; 13 13 import { sendTestDiscordMessage as sendTestDiscord } from "@openstatus/notification-discord"; 14 14 import { sendTest as sendTestNtfy } from "@openstatus/notification-ntfy"; 15 15 import { sendTest as sendTestOpsGenie } from "@openstatus/notification-opsgenie";
+186
packages/icons/README.md
··· 1 + # Lucide React Icons Used in Dashboard 2 + 3 + This document lists all the lucide-react icons currently used in the OpenStatus dashboard application. 4 + 5 + ## Complete Icon List 6 + 7 + - Activity 8 + - AlertCircle 9 + - ArrowUpRight 10 + - AudioLines 11 + - Bell 12 + - Book 13 + - Bookmark 14 + - Braces 15 + - CalendarClock 16 + - CalendarIcon 17 + - Check 18 + - CheckCircle2 19 + - CheckIcon 20 + - ChevronDown 21 + - ChevronDownIcon 22 + - ChevronLeft 23 + - ChevronRight 24 + - ChevronRightIcon 25 + - ChevronUp 26 + - ChevronUpIcon 27 + - ChevronsUpDown 28 + - CircleCheck 29 + - CircleDashed 30 + - CircleIcon 31 + - Clock 32 + - ClockIcon 33 + - Cog 34 + - Copy 35 + - CopyPlus 36 + - CreditCard 37 + - ExternalLink 38 + - Eye 39 + - FileDown 40 + - FileJson 41 + - Filter 42 + - Globe 43 + - GripVertical 44 + - Hammer 45 + - HelpCircle 46 + - Info 47 + - Inbox 48 + - Key 49 + - Laptop 50 + - LayoutGrid 51 + - LifeBuoy 52 + - List 53 + - Loader 54 + - LoaderCircle 55 + - Lock 56 + - LogOut 57 + - Logs 58 + - Megaphone 59 + - Mic 60 + - Moon 61 + - MoreHorizontal 62 + - Network 63 + - PanelLeftIcon 64 + - PanelRight 65 + - PanelTop 66 + - Pencil 67 + - Plus 68 + - PlusCircle 69 + - Rocket 70 + - Search 71 + - SearchCheck 72 + - SearchIcon 73 + - Settings 74 + - Settings2 75 + - Siren 76 + - Sparkles 77 + - Sun 78 + - TableProperties 79 + - Terminal 80 + - Trash2 81 + - User 82 + - Users 83 + - Workflow 84 + - X 85 + - XCircle 86 + - XIcon 87 + 88 + ## Usage Statistics 89 + 90 + - **Total Icons**: 75 unique icons 91 + - **Most Common**: Check, Plus, X, ChevronRight, ChevronDown, ChevronUp 92 + - **Categories**: 93 + - Navigation (Chevron*, Arrow*, MoreHorizontal) 94 + - Actions (Plus, X, Trash2, Copy, Pencil) 95 + - Status (Check, AlertCircle, CheckCircle2, XCircle) 96 + - UI Elements (Settings, Search, Bell, Lock) 97 + - Content (Book, Braces, TableProperties, Globe) 98 + 99 + ## Icon Categories 100 + 101 + ### Navigation & Direction 102 + - ArrowUpRight 103 + - ChevronDown, ChevronDownIcon 104 + - ChevronLeft 105 + - ChevronRight, ChevronRightIcon 106 + - ChevronUp, ChevronUpIcon 107 + - ChevronsUpDown 108 + 109 + ### Actions & Operations 110 + - Check, CheckIcon 111 + - Copy, CopyPlus 112 + - Eye 113 + - Pencil 114 + - Plus, PlusCircle 115 + - Trash2 116 + - X, XIcon 117 + 118 + ### Status & Feedback 119 + - AlertCircle 120 + - CheckCircle2 121 + - CircleCheck 122 + - CircleDashed 123 + - Loader, LoaderCircle 124 + - XCircle 125 + 126 + ### UI & Interface 127 + - Bell 128 + - Lock 129 + - MoreHorizontal 130 + - PanelLeftIcon, PanelRight, PanelTop 131 + - Search, SearchIcon 132 + - Settings, Settings2 133 + 134 + ### Content & Data 135 + - Book 136 + - Braces 137 + - TableProperties 138 + - Globe 139 + - Network 140 + - Terminal 141 + 142 + ### Time & Calendar 143 + - CalendarClock 144 + - CalendarIcon 145 + - Clock, ClockIcon 146 + 147 + ### User & Account 148 + - CreditCard 149 + - LogOut 150 + - User 151 + - Users 152 + 153 + ### System & Technical 154 + - Activity 155 + - Cog 156 + - FileDown, FileJson 157 + - Key 158 + - Logs 159 + - Workflow 160 + 161 + ### Theme & Appearance 162 + - Laptop 163 + - Moon 164 + - Sun 165 + 166 + ### Communication 167 + - AudioLines 168 + - Inbox 169 + - Mic 170 + - Megaphone 171 + 172 + ### Miscellaneous 173 + - Bookmark 174 + - ExternalLink 175 + - Filter 176 + - GripVertical 177 + - Hammer 178 + - HelpCircle 179 + - Info 180 + - LayoutGrid 181 + - LifeBuoy 182 + - List 183 + - Rocket 184 + - SearchCheck 185 + - Siren 186 + - Sparkles
+20
packages/icons/package.json
··· 1 + { 2 + "name": "@openstatus/icons", 3 + "version": "0.0.0", 4 + "main": "./src/index.tsx", 5 + "types": "./src/index.tsx", 6 + "license": "MIT", 7 + "scripts": { 8 + "lint": "biome lint \"**/*.ts*\"" 9 + }, 10 + "devDependencies": { 11 + "@biomejs/biome": "1.9.4", 12 + "@openstatus/tsconfig": "workspace:*", 13 + "@types/react": "19.1.10", 14 + "@types/react-dom": "19.1.7", 15 + "typescript": "5.7.2" 16 + }, 17 + "dependencies": { 18 + "react": "19.1.1" 19 + } 20 + }
+6
packages/icons/src/index.tsx
··· 1 + export * from "./discord"; 2 + export * from "./github"; 3 + export * from "./google"; 4 + export * from "./pagerduty"; 5 + export * from "./slack"; 6 + export * from "./opsgenie";
+10
packages/icons/tsconfig.json
··· 1 + { 2 + "extends": "@openstatus/tsconfig/react-library.json", 3 + "include": ["."], 4 + "exclude": ["dist", "build", "node_modules"], 5 + "compilerOptions": { 6 + "paths": { 7 + "@/*": ["./src/*"] 8 + } 9 + } 10 + }
+25
pnpm-lock.yaml
··· 86 86 '@openstatus/header-analysis': 87 87 specifier: workspace:* 88 88 version: link:../../packages/header-analysis 89 + '@openstatus/icons': 90 + specifier: workspace:* 91 + version: link:../../packages/icons 89 92 '@openstatus/notification-discord': 90 93 specifier: workspace:* 91 94 version: link:../../packages/notifications/discord ··· 1341 1344 '@openstatus/tsconfig': 1342 1345 specifier: workspace:* 1343 1346 version: link:../tsconfig 1347 + typescript: 1348 + specifier: 5.7.2 1349 + version: 5.7.2 1350 + 1351 + packages/icons: 1352 + dependencies: 1353 + react: 1354 + specifier: 19.1.1 1355 + version: 19.1.1 1356 + devDependencies: 1357 + '@biomejs/biome': 1358 + specifier: 1.9.4 1359 + version: 1.9.4 1360 + '@openstatus/tsconfig': 1361 + specifier: workspace:* 1362 + version: link:../tsconfig 1363 + '@types/react': 1364 + specifier: 19.1.10 1365 + version: 19.1.10 1366 + '@types/react-dom': 1367 + specifier: 19.1.7 1368 + version: 19.1.7(@types/react@19.1.10) 1344 1369 typescript: 1345 1370 specifier: 5.7.2 1346 1371 version: 5.7.2