mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:01:09 +02:00
feat(calendar): add event context menu and fix event persistence
- Add reusable ContextMenu component to shared-ui with icon support - Create EventContextMenu for calendar with actions: - Edit, Duplicate, Change Calendar, Change Color - Export to .ics, Delete with confirmation - Integrate context menu in DayView, WeekView, and AgendaView - Fix event creation not showing success/error feedback - Fix events store to properly handle API response format - Add API logging for debugging event operations 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
cc37db8072
commit
10d4170ee8
10 changed files with 287 additions and 14 deletions
|
|
@ -111,7 +111,7 @@
|
|||
>
|
||||
{#if item.icon}
|
||||
<span class="item-icon">
|
||||
{@render item.icon()}
|
||||
<item.icon size={16} />
|
||||
</span>
|
||||
{/if}
|
||||
<span class="item-label">{item.label}</span>
|
||||
|
|
|
|||
|
|
@ -1,12 +1,13 @@
|
|||
import type { Snippet } from 'svelte';
|
||||
import type { Component } from 'svelte';
|
||||
|
||||
export interface ContextMenuItem {
|
||||
/** Unique identifier for the item */
|
||||
id: string;
|
||||
/** Display label */
|
||||
label: string;
|
||||
/** Icon snippet to render */
|
||||
icon?: Snippet;
|
||||
/** Icon component to render (Phosphor icon or any Svelte component) */
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
icon?: Component<any>;
|
||||
/** Keyboard shortcut hint */
|
||||
shortcut?: string;
|
||||
/** Whether the item is disabled */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue