Commit graph

45 commits

Author SHA1 Message Date
bc102fba0a style: remove horizontal padding from Edra editor paragraphs and headings
Remove left/right padding from p and h1-h6 elements to allow content to use full width of the editor container.
2025-11-03 23:04:05 -08:00
1190bfc62e fix: enable drag and drop reordering in Edra editor
Add return false to drop handler so ProseMirror's Dropcursor extension can handle the actual node movement. Previously the handler would intercept drops but not perform any movement.
2025-11-03 23:03:07 -08:00
94fb5f6daf refactor(admin): use session fetch in media components 2025-10-07 05:54:18 -07:00
9ee98a2ff8 refactor: modernize Edra editor components and enhance functionality
- Migrate all Edra components to Svelte 5 with runes syntax
- Implement unified ContentInsertionPane for consistent content insertion
- Standardize placeholder components with improved layouts
- Enhance bubble menu with better color picker and text styling
- Improve drag handle interactions and visual feedback
- Update slash command system for better extensibility

Key improvements:
- ContentInsertionPane: New unified interface for all content types
- Placeholder components: Consistent sizing and spacing
- GeolocationPlaceholder: Simplified map integration
- UrlEmbedPlaceholder: Better preview handling
- ComposerMediaHandler: Converted to Svelte 5 class syntax
- BubbleMenu components: Enhanced UI/UX with modern patterns

All components now use:
- Interface Props pattern for better type safety
- $state and $derived for reactive state
- Modern event handling syntax
- Consistent styling with CSS variables

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 23:21:27 -07:00
12c30c1501 feat: implement unified content insertion pane for Edra editor
- Create ContentInsertionPane component with segmented controls
- Update image placeholder to single-line format with icon + text
- Update gallery placeholder to use unified pane
- Support upload, embed link, and gallery selection for each type
- Add location search placeholder for future geocoding integration
2025-06-26 16:15:17 -04:00
737a34b950 fix: correct placeholder spacing in Edra editor
- Add placeholder node styles to editor.css matching other media nodes
- Remove incorrect margins from individual placeholder components
- Placeholders now properly aligned with 2.25rem horizontal spacing
- Consistent with h1, h2, p text elements and YouTube embeds
2025-06-26 15:56:49 -04:00
48cc27770f fix: standardize Edra editor placeholder widths and slash command navigation
- Fix slash command keyboard navigation by uncommenting handler
- Update all media placeholders to respect content block margins (2.25rem)
- Refactor placeholder styles to use SCSS variables consistently
- Fix Audio, Gallery, IFrame, Video, Location, and URL embed placeholders
- Fix Image placeholder width to match other placeholders
- Ensure responsive margins on mobile (2rem)
2025-06-26 15:37:47 -04:00
22c27a0e64 refactor: update slash command menu to match visual style
- Replace old slash command list styles with new design
- Use consistent SCSS variables from design system
- Match dropdown styling patterns used elsewhere
- Improve visual hierarchy with better typography
- Add smooth transitions and hover states
- Clean up old CSS styles
2025-06-26 15:15:57 -04:00
68d931df82 style: align embeds with text content horizontal margins
- Add left/right margins of 2.25rem to match text block padding
- Ensure YouTube videos, link cards, and other embeds align with text
- Add responsive margins (2rem) for mobile viewports
- Fixes issue where embeds were too wide compared to text content

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 14:26:36 -04:00
fd27d68fc6 style: add consistent margin-bottom to content embeds
- Add 1rem margin-bottom to all embed types (url, iframe, video, image, gallery, audio, geolocation)
- Ensure YouTube embeds and URL cards have consistent spacing
- Prevent double margins when embeds are adjacent
- Matches the margin-bottom used for text blocks (paragraphs)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 14:19:51 -04:00
64bb0d991e Revert "fix: ensure editor placeholder respects block padding"
This reverts commit 281fe52ac5.
2025-06-26 14:15:43 -04:00
281fe52ac5 fix: ensure editor placeholder respects block padding
- Add padding-left and negative margin-left to placeholder pseudo-elements
- Separate styles for paragraphs and headings to target specific elements
- Include responsive styles for mobile viewports
- Fixes issue where placeholder text wasn't aligned with actual content

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 14:03:59 -04:00
c9aeda2fab style: reduce editor block padding from 3rem to 2.25rem
- Update padding for paragraphs, headings, blockquotes, lists, tables, and code blocks
- Change from 48px (3rem) to 36px (2.25rem) for better content density
- Maintains responsive behavior with existing media queries

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 13:56:38 -04:00
e8a965650b fix: prevent highlighted text from appearing italicized
- Add explicit styles for mark elements
- Force normal font-style with \!important
- Add subtle padding and border-radius for highlights
- Ensure text color inheritance for proper contrast

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 12:02:30 -04:00
1c38dc87e3 fix: drag handle actions now affect the correct block
- Added menuNode state to capture the node position when menu opens
- Updated all action functions to use menuNode instead of currentNode
- This ensures drag handle actions (Turn into, Delete, etc.) always affect the block where the handle was clicked, not where the mouse currently hovers
- Also formatted code with prettier

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 10:33:27 -04:00
1e4a27b1a3 fix: fine-tune drag handle vertical position by 2px
- Move handle up by 2px for better visual alignment with text
- Compensates for smaller handle size centering

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 10:25:31 -04:00
8f884af5d7 fix: adjust drag handle vertical positioning for smaller size
- Update line height calculation from 24px to 20px handle height
- Remove extra 4px offset that was compensating for old size
- Handle now properly aligns with text baseline

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 10:21:35 -04:00
5e9df976e3 style: make drag handle smaller with increased gap
- Reduce drag handle size from 1.5rem to 1.25rem (24px to 20px)
- Reduce SVG icon size to 0.875rem (14px)
- Increase gap between handle and content from 4px to 12px
- Update invisible hover zone to match new gap size
- Remove duplicate SVG styles

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 10:19:39 -04:00
8ce7613256 style: reduce drag handle gap from 8px to 4px
- Brings drag handle closer to text content
- Creates a tighter, more connected visual relationship

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 10:16:53 -04:00
6ec3bbc54e fix: adjust drag handle position to account for block padding
- Calculate element's padding-left to position handle correctly
- Position drag handle close to text content, not at container edge
- Maintains 8px gap between handle and text for visual clarity

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 10:14:47 -04:00
569a124d02 style: move editor padding to block elements for better drag handle interaction
- Remove horizontal padding from editor container
- Add 3rem (2rem on mobile) horizontal padding to all block elements
- Ensures drag handle appears when hovering over visual margins
- Properly handle nested elements (blockquotes, lists, tables) to prevent double padding

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 10:11:43 -04:00
8845baf402 style: improve editor block spacing for better readability
- Add 1rem bottom margin to paragraphs
- Increase heading margins and add contextual spacing
- Add proper spacing for lists and list items
- Ensure code blocks have consistent bottom margin
- Add line-height of 1.6 for better paragraph readability

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 10:07:54 -04:00
75b61021a0 fix: simplify editor content loading to prevent infinite loops
- Use a simple contentLoaded flag to load content once when editor is ready
- Remove complex change detection that was causing infinite update loops
- Remove debug logging now that issue is resolved

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26 09:56:24 -04:00
922da5cf33 debug: add more detailed logging to trace content structure issue 2025-06-26 09:51:34 -04:00
513b40bbc4 fix: update remaining $grey- variables in SCSS files
- Fix themes.scss to use $gray- variables
- Fix tooltip.scss to use $gray- variables
- Resolves build error with undefined variables

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 22:03:19 -04:00
599797f727 refactor: standardize spacing with unit variables
Replace hardcoded pixel values with unit variables in key components:
- GalleryExtended, MediaDetailsModal, UrlEmbedExtended
- EnhancedComposer, UniverseCard, NavDropdown, Button

Key replacements:
- Spacing: 1px→$unit-1px, 8px→$unit, 16px→$unit-2x, etc.
- Font sizes: Use semantic $font-size-* variables
- Border radius: Use $corner-radius-* variables

Added missing common pixel value variables for consistency.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 21:50:43 -04:00
a31291d69f refactor: replace deprecated $grey- variables with $gray-
- Replace 802 instances of $grey- variables with $gray- across 106 files
- Remove legacy color aliases from variables.scss
- Maintain consistent naming convention throughout codebase

This completes the migration to the new color scale system.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 21:41:50 -04:00
a04d48e549 feat: enhance editor with drag handle and UI improvements
- Add drag handle functionality to editor blocks
- Improve dropdown menu component with better state management
- Enhance composer with AI-powered features
- Update form components to use toast notifications
- Add chevron-right and drag-handle SVG icons
- Various bug fixes and UI refinements

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 01:06:46 +01:00
fb01527469 feat: add tooltips to link bubble menu buttons
- Create reusable tooltip action using Tippy.js
- Add tooltips to link menu buttons (copy, edit, open, remove)
- Implement visual feedback with green flash animation on URL copy
- Configure bubble menu scale animation for smooth appearance
- Add scoped tooltip styles with dark theme

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 01:06:17 +01:00
2bbc306762 refactor: restructure routing - albums at /albums/[slug], photos at /photos/[id]
- Move album routes from /photos/[slug] to /albums/[slug]
- Simplify photo permalinks from /photos/p/[id] to /photos/[id]
- Remove album-scoped photo route /photos/[albumSlug]/[photoId]
- Update all component references to use new routes
- Simplify content.ts to always use direct photo permalinks
- Update PhotoItem, MasonryPhotoGrid, ThreeColumnPhotoGrid components
- Update UniverseAlbumCard and admin AlbumForm view links
- Remove album context from photo navigation

Breaking change: URLs have changed
- Albums: /photos/[slug] → /albums/[slug]
- Photos: /photos/p/[id] → /photos/[id]

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 10:35:21 +01:00
52df43b667 feat(editor): improve gallery and image components
- Enhance GalleryExtended with better layout options
- Update GalleryPlaceholder with improved media selection
- Improve ImagePlaceholder with better preview handling
- Add support for multiple gallery layouts
- Improve component styling and interactions
- Better integration with UnifiedMediaModal

Enhances content editing with improved media components.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:14:23 +01:00
8627b1d574 feat(editor): add geolocation support for content editing
- Add geolocation Tiptap extension for embedding maps
- Create GeolocationExtended component for rendering map embeds
- Create GeolocationPlaceholder for editor insertion
- Add GeoCard component for displaying location data
- Support latitude, longitude, zoom level, and optional labels
- Enable location-based content in albums and posts

Allows editors to embed interactive maps with specific locations.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:12:34 +01:00
6604032643 refactor(editor): consolidate editors into unified EnhancedComposer
- Create EnhancedComposer as the single unified editor component
- Remove redundant editor components (Editor, EditorWithUpload, CaseStudyEditor, UniverseComposer)
- Add editor-extensions.ts for centralized extension configuration
- Enhance image placeholder with better UI and selection support
- Update editor commands and slash command groups
- Improve editor state management and content handling

Simplifies the codebase by having one powerful editor component instead
of multiple specialized ones.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:11:57 +01:00
cc6eba7df1 Linter 2025-06-13 21:22:49 -04:00
fe30f9e9b2 Youtube embeds too 2025-06-13 18:13:43 -04:00
b1ddedd586 Embed URL cards 2025-06-13 17:29:29 -04:00
6c2555b7c9 Fix sticky toolbar in editor 2025-06-11 02:09:59 -07:00
c38511ed62 Fix Edra issues and spacing 2025-06-11 02:00:10 -07:00
510255f1bd Make font-scaling more consistent 2025-06-10 10:29:52 -07:00
78443e2bdd Prettier + build errors 2025-06-02 08:41:03 -07:00
b2ad9efd9c Fixes for UniverseComposer and delete modals.
Also standardizing Publish buttons and whatnot
2025-06-02 06:19:39 -07:00
b314be59f4 Library support in Edra 2025-05-31 13:17:38 -07:00
c7b4f57ab0 tbh i dont know whats going on anymore 2025-05-31 02:08:26 -07:00
4fde0e6148 New project + Edit project working
* Can fill out metadata
* Uploads SVGs for logos
* Editor works and persists/loads data
2025-05-29 20:19:01 -07:00
80d54aaaf0 Admin WIP
Projects and Posts sorta work, need design help
2025-05-27 16:57:51 -07:00