package views

templ ActionIcon(kind string) {
	switch kind {
		case "plus":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M5 12h14"></path>
				<path d="M12 5v14"></path>
			</svg>
		case "folder-plus":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M12 10v6"></path>
				<path d="M9 13h6"></path>
				<path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"></path>
			</svg>
		case "circle-plus":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<circle cx="12" cy="12" r="10"></circle>
				<path d="M8 12h8"></path>
				<path d="M12 8v8"></path>
			</svg>
		case "user-plus":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path>
				<circle cx="9" cy="7" r="4"></circle>
				<line x1="19" x2="19" y1="8" y2="14"></line>
				<line x1="22" x2="16" y1="11" y2="11"></line>
			</svg>
		case "trash":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M3 6h18"></path>
				<path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"></path>
				<path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"></path>
				<line x1="10" x2="10" y1="11" y2="17"></line>
				<line x1="14" x2="14" y1="11" y2="17"></line>
			</svg>
		case "calendar":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M8 2v4"></path>
				<path d="M16 2v4"></path>
				<rect width="18" height="18" x="3" y="4" rx="2"></rect>
				<path d="M3 10h18"></path>
			</svg>
		case "grid3x3":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<rect width="18" height="18" x="3" y="3" rx="2"></rect>
				<path d="M3 9h18"></path>
				<path d="M3 15h18"></path>
				<path d="M9 3v18"></path>
				<path d="M15 3v18"></path>
			</svg>
		case "list":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M3 12h.01"></path>
				<path d="M3 18h.01"></path>
				<path d="M3 6h.01"></path>
				<path d="M8 12h13"></path>
				<path d="M8 18h13"></path>
				<path d="M8 6h13"></path>
			</svg>
		case "search":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<circle cx="11" cy="11" r="8"></circle>
				<path d="m21 21-4.3-4.3"></path>
			</svg>
		case "filter":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon>
			</svg>
		case "check-circle":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<circle cx="12" cy="12" r="10"></circle>
				<path d="m9 12 2 2 4-4"></path>
			</svg>
		default:
			@SidebarIcon(kind)
	}
}

templ SidebarIcon(kind string) {
	switch kind {
		case "panels":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<rect width="18" height="18" x="3" y="3" rx="2"></rect>
				<path d="M3 9h18"></path>
				<path d="M9 21V9"></path>
			</svg>
		case "tasks":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<rect x="3" y="5" width="6" height="6" rx="1"></rect>
				<path d="m3 17 2 2 4-4"></path>
				<path d="M13 6h8"></path>
				<path d="M13 12h8"></path>
				<path d="M13 18h8"></path>
			</svg>
		case "layers":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"></path>
				<path d="m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"></path>
				<path d="m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"></path>
			</svg>
		case "planning":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<rect width="18" height="18" x="3" y="3" rx="2"></rect>
				<path d="M8 7v7"></path>
				<path d="M12 7v4"></path>
				<path d="M16 7v9"></path>
			</svg>
		case "chat":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M7.9 20A9 9 0 1 0 4 16.1L2 22Z"></path>
			</svg>
		case "files":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"></path>
			</svg>
		case "send":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path>
				<path d="m21.854 2.147-10.94 10.939"></path>
			</svg>
		case "gem":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M6 3h12l4 6-10 13L2 9Z"></path>
				<path d="M11 3 8 9l4 13 4-13-3-6"></path>
				<path d="M2 9h20"></path>
			</svg>
		case "leaf":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M11 20A7 7 0 0 1 4 13V6a1 1 0 0 1 1-1h7a7 7 0 0 1 7 7v0a8 8 0 0 1-8 8Z"></path>
				<path d="M12 10 4 18"></path>
			</svg>
		case "flame":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M8.5 14.5A5.5 5.5 0 1 0 19 18c0-1.57-.52-3.09-1.48-4.3C16.1 12 14 10.82 14 7.5c0-1.5.5-3 1.5-4-4 1-7 4.5-7 8.5 0 1.61.49 3.16 1.4 4.45"></path>
				<path d="M12 22c2.21 0 4-1.79 4-4 0-1.5-.83-2.8-2.05-3.49-.61 1.03-1.6 1.83-2.82 2.2"></path>
			</svg>
		case "star":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="m12 3 2.9 5.88 6.5.95-4.7 4.58 1.11 6.47L12 17.77 6.19 20.88l1.11-6.47-4.7-4.58 6.5-.95Z"></path>
			</svg>
		case "compass":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<circle cx="12" cy="12" r="10"></circle>
				<path d="m16.24 7.76-2.12 6.36-6.36 2.12 2.12-6.36z"></path>
			</svg>
		case "heart":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="m12 21-1.45-1.32C5.4 15.02 2 11.93 2 8.1 2 5 4.42 2.5 7.5 2.5c1.74 0 3.41.81 4.5 2.09A6 6 0 0 1 16.5 2.5C19.58 2.5 22 5 22 8.1c0 3.83-3.4 6.92-8.55 11.58Z"></path>
			</svg>
		case "waves":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M2 6c1.5 1.5 3 2 4.5 2S9.5 7.5 11 6s3-2 4.5-2S18.5 4.5 20 6s3 2 4 2"></path>
				<path d="M2 12c1.5 1.5 3 2 4.5 2s3-.5 4.5-2 3-2 4.5-2 3 .5 4.5 2 3 2 4 2"></path>
				<path d="M2 18c1.5 1.5 3 2 4.5 2s3-.5 4.5-2 3-2 4.5-2 3 .5 4.5 2 3 2 4 2"></path>
			</svg>
		case "sun":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<circle cx="12" cy="12" r="4"></circle>
				<path d="M12 2v2"></path>
				<path d="M12 20v2"></path>
				<path d="m4.93 4.93 1.41 1.41"></path>
				<path d="m17.66 17.66 1.41 1.41"></path>
				<path d="M2 12h2"></path>
				<path d="M20 12h2"></path>
				<path d="m6.34 17.66-1.41 1.41"></path>
				<path d="m19.07 4.93-1.41 1.41"></path>
			</svg>
		case "sparkles":
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M9.94 3.06 12 8l2.06-4.94L19 1l-2.06 4.94L22 8l-5.06 2.06L14.88 15 12 10.06 9.12 15 7.06 10.06 2 8l5.06-2.06Z"></path>
				<path d="M5 19v-2"></path>
				<path d="M19 19v-2"></path>
				<path d="M12 22v-2"></path>
			</svg>
		default:
			<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
				<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path>
			</svg>
	}
}
