Commit Graph

23 Commits

Author SHA1 Message Date
Chad Curtis 1af6a45a77 Fix preloader flash and green logo on light/pink themes
Defer body inline style removal until CSS variables are injected by
useApplyTheme, preventing a one-frame flash of unstyled background.

Replace preloader logo <img> with CSS mask technique matching the React
DittoLogo component, so the logo uses the theme's primary color instead
of filter:invert() which turned purple into green.
2026-02-24 00:39:27 -06:00
Alex Gleason cd29071f6b Make the icon purple by default 2026-02-23 18:00:46 -06:00
Alex Gleason 77bb7d2037 Run all public assets through Trimage 2026-02-23 17:55:46 -06:00
Alex Gleason 5fa5bff401 Swap out og:image 2026-02-23 17:54:54 -06:00
Alex Gleason cc74443010 Render DittoLogo using CSS mask with primary color 2026-02-23 13:10:47 -06:00
Alex Gleason 1f035f4a6e Rename Mew to Ditto across entire codebase
- Update all branding: titles, meta tags, OG tags, manifest
- Rename MewLogo component to DittoLogo
- Update Capacitor config: appId to pub.ditto.app, hostname to ditto.pub
- Migrate Android Java package from com.mew.app to pub.ditto.app
- Rename MewNotificationPlugin to DittoNotificationPlugin
- Update all localStorage keys from mew: to ditto: prefix
- Update Nostr encrypted settings d-tag from mew-metadata to ditto-metadata
- Update all page titles, zap comments, and UI strings
- Rename ic_stat_mew.xml drawable to ic_stat_ditto.xml
- Update build script references (mew.apk -> ditto.apk)
- Update all domain references (mew.shakespeare.wtf -> ditto.pub)
2026-02-23 11:50:00 -06:00
Chad Curtis 916adf7fb6 Invert preloader logo to dark on light/pink themes 2026-02-20 21:29:05 -06:00
Chad Curtis 313b66f8fd Use saved theme for pre-React loading spinner
Read the user's theme from localStorage before first paint so the
preloader background and spinner colors match dark/light/black/pink.
Uses a small blocking script (public/theme.js) that runs before
the preloader is visible.
2026-02-20 21:28:01 -06:00
Chad Curtis 2f02e65ab6 Add Android Capacitor build system
- Install Capacitor dependencies (@capacitor/cli, @capacitor/core, @capacitor/android, @capacitor/app, @capacitor/status-bar, sharp)
- Create capacitor.config.ts with app configuration
- Update .gitignore to exclude Android build outputs and keystore files
- Generate icon-512.png from logo.svg
- Add scripts for icon generation, APK building, and keystore creation
- Initialize Capacitor Android platform
- Configure build.gradle with signing support
- Generate Android app icons in all required densities
- Add npm scripts: 'icons' and 'build:apk'
2026-02-19 06:18:02 -06:00
shakespeare.diy d519fe82bd Replace favicon and logo with new SVG design
- Added new mew_logo_2.svg to public directory
- Updated MewLogo component to use SVG instead of PNG
- Updated index.html favicon references to use SVG format
- Updated manifest.webmanifest icon references to use SVG with 'any' size
- SVG provides better scalability and smaller file size (3.5KB vs 4.2KB PNG)

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-19 06:11:34 -06:00
shakespeare.diy 955b4d61de Add intro image and description to Feed Tabs section
- Added community-intro.png image
- Added "Feed Navigation" heading
- Added description about managing feed tabs and communities
- Matches styling of Other Stuff and Muted Content sections
- Consistent visual presentation across all collapsible sections

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-19 00:52:48 -06:00
shakespeare.diy a2680f1e1b Redesign relays tab to match feed/mutes/profile presentation style
- Added intro section with relay-intro.png image and description
- Reorganized layout with cleaner visual hierarchy and border separators
- Reduced font sizes for consistency (text-xs, text-sm labels)
- Removed rounded borders and card-style backgrounds
- Added hover states to relay rows (hover:bg-muted/20)
- Improved spacing and padding throughout
- Smaller icon sizes (h-4 w-4 for relays, h-5 w-5 for section headers)
- Reduced button sizes and input heights (h-9) to match other tabs
- Simplified "Add Relay" button text and styling
- Updated popover label sizes to text-xs for consistency

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-19 00:29:02 -06:00
shakespeare.diy d4d745e883 Redesign profile tab to match feed/mutes presentation style
- Added intro section with profile-intro.png image and description
- Reorganized form layout with cleaner visual hierarchy and border separators
- Reduced font sizes and spacing to match feed tab style (text-xs labels)
- Moved "Bot Account" setting under collapsible "Advanced Settings" section
- Improved input heights (h-9) and button sizes for consistency
- Enhanced image upload field styling with smaller previews and buttons
- Updated form descriptions to be more concise
- Added proper spacing with border-b separators between sections

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-19 00:14:36 -06:00
shakespeare.diy c3c1370090 Redesign mutes tab to match feed tab presentation style
- Refactored MuteSettings component to follow feed tab layout pattern
- Added intro section with image and description
- Reorganized mute type sections with cleaner visual hierarchy
- Removed card-based layout in favor of borderless sections
- Improved spacing and typography consistency
- Added mute-intro.png image for visual consistency
- Streamlined add mute interface with better label styling
- Enhanced muted items list with hover states and better visual feedback

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-19 00:04:12 -06:00
shakespeare.diy 01bdb9322d Replace intro art with custom mew_boy illustration, update blend logic
- Swapped to provided gray-on-white line art
- Light/pink: darken blend (gray lines show naturally)
- Dark/black: lighten + invert (lines become light on dark bg)

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-18 03:01:19 -06:00
shakespeare.diy e379b03a7a Replace intro illustration with charming chibi-style Nintendo manual art
- Polished white line illustration with cute character and detailed icons
- Clapperboard, bar chart, treasure chest, palette, party popper floating above
- Clean confident linework that reads well at small sizes

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-18 02:47:59 -06:00
shakespeare.diy ecb2a53ad1 Update intro illustration and remove box wrapper
- New whimsical stick figure head with floating doodle icons
- Removed rounded box/card wrapper, image sits openly in the layout
- Sized down illustration for subtlety

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-18 02:43:00 -06:00
shakespeare.diy c66e5aad0b Move kind badges to descriptions, add fun intro with illustration
- Kind badges now appear as [xxxxx] prefix on description lines, not titles
- Added Nintendo-style instruction illustration explaining "Other Stuff"
- Rewrote intro copy to be friendlier and more fun
- Removed old webp illustration file

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-18 02:40:30 -06:00
shakespeare.diy 3400e33207 Fix og-image not loading on Signal: exclude static files from SPA redirect
The catch-all /* -> /index.html redirect was serving HTML for /og-image.png,
so Signal's crawler got text/html instead of image/png. Added explicit rules
for static files (og-image.png, logo.png, robots.txt, manifest.webmanifest)
before the SPA fallback so they serve with correct content types.

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-17 06:12:31 -06:00
shakespeare.diy c8af7c1ab4 Add OG image and social media meta tags for link previews
- Add og-image.png to public/
- Add Open Graph tags (og:title, og:description, og:image with dimensions and type, og:url, og:site_name)
- Add Twitter Card tags (summary_large_image) for X/Twitter previews
- Add meta description for general SEO
- Works with Signal, Twitter/X, Discord, Slack, iMessage, etc.

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-17 06:09:20 -06:00
shakespeare.diy 6e24acc266 Set custom logo as favicon and in-app logo
- Added logo.png to public folder
- Added favicon and apple-touch-icon link tags to index.html
- Updated manifest.webmanifest with icon references
- Updated MewLogo component to render the PNG image instead of SVG

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-16 22:27:13 -06:00
shakespeare.diy 4f1b4800d0 Build Mew: a full-featured kind 1 Nostr client
- Dark theme with purple accent colors matching the reference design
- Three-column layout: left sidebar, main feed, right sidebar
- Left sidebar: Mew logo, search, navigation (Home, Notifications, Search, Vines, Profile, Wallet, Settings, More), compose button, user profile/login
- Main feed: compose box, Follows/Global tabs, live note cards with avatars, author info, NIP-05 verification, relative timestamps, image attachments, and action buttons (reply, repost, like, zap, more)
- Right sidebar: trending hashtags with sparklines, latest accounts, footer
- Full routing: home, profile, notifications, search, hashtags, settings (profile/relays), placeholder pages
- NIP-19 routing with automatic profile redirect
- Custom hooks: useFeed, useTrendingTags, useLatestAccounts, useEventStats
- NoteContent renders mentions, links, and hashtags as clickable elements
- Inter Variable font, skeleton loading states, responsive layout

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-16 17:05:32 -06:00
shakespeare.diy 98ff1e09e0 New project created with Shakespeare
Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-16 16:54:01 -06:00