Commit graph

433 commits

Author SHA1 Message Date
411be67a35 [WV2] Improve pagination with page dropdown
Replace will_paginate's view helpers with a custom prev/next + page
dropdown control.

Layout: [← Prev] [Page <select> of N] [Next →]
- Prev/Next are regular links (work without JS)
- Dropdown wrapped in <auto-submit-form> for JS-enhanced navigation
- "Go" submit button appears when JS is disabled
- Single pagination bar at top of results (removed bottom duplicate)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-07 11:12:46 +10:00
ff7c590790 [WV2] Add ownership and wishlist badges
Show "Own" (green) and "Want" (blue) badges on item cards when a logged-in user has items in their closet lists. Badges appear on both search results and outfit items.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 21:03:36 -08:00
4ab1426c61 [WV2] Fix bug for item info link when item is worn 2026-02-15 20:37:39 -08:00
602e928180 [WV2] Add item info links
Add an info link (ℹ️) to each item card that opens the item's detail
page in a new tab. The link is:
- Subtle and hidden by default (opacity: 0)
- Visible on hover or focus-within for mouse/keyboard users
- Always visible (60% opacity) on touch devices
- Accessible with proper aria-label
- Opens in new tab with target="_blank" and rel="noopener"

This is the first commit of Phase 2 (Detail-Oriented Experience),
adding contextual navigation to item details.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 20:32:11 -08:00
f13481783d Merge branch 'main' into feature/wardrobe-v2 2026-02-06 19:24:30 -08:00
6f7b307e39 [WV2] Fix bug with play/pause visibility 2026-02-06 17:50:32 -08:00
b462272dc3 [WV2] Add search keyboard shortcuts 2026-02-06 17:20:10 -08:00
10e2140045 [WV2] Progressive enhancement for item search 2026-02-06 17:05:01 -08:00
36a28cff10 [WV2] Add progressive enhancement for outfit item list toggles
Rather than just buttons, upgrade to radio buttons when we have JS.
2026-02-06 16:42:42 -08:00
81b60eefad [WV2] Unify auto-submit behaviors into a shared web component 2026-02-06 11:29:04 -08:00
9baa64d39a [WV2] Unify common CSS patterns 2026-02-06 09:17:37 -08:00
d0acb1c7e5 [WV2] Use variables for colors 2026-02-06 09:09:58 -08:00
fd881ee31d [WV2] Support closeted items as well as worn items 2026-02-06 07:54:09 -08:00
f5ad5d2b17 [WV2] Simplify canceling outfit renaming
Don't need a button anymore, with focusout and escape doing it
2026-02-05 22:01:45 -08:00
6fa4e57184 [WV2] Outfit renaming as an atomic operation 2026-02-05 21:56:23 -08:00
0d4b553162 [WV2] Outfit saving first draft 2026-02-05 20:47:05 -08:00
5e68d3809c [WV2] Fix syncing for play/pause state across page morphs
Reproduce:
1. Add an item with animations, and play them.
2. Remove the item.
3. Add it back.
4. Observe the button shows up in "Paused" state, even though it's playing.

This is because the server-side template wasn't doing anything to try to keep the play/pause button it renders in sync with the current saved state in the cookies, so it was always causing a morph to the pause state. Now we listen to the cookie instead!

I also updated the JS behavior to be a bit more consistent: treat the behavior as defaulting to true, unless it's explicitly set to the string "false".
2026-02-05 19:15:09 -08:00
ff3dd2249e [WV2] Fix Safari-specific bug for play/pause button state 2026-02-05 19:03:17 -08:00
97a035b3a3 [WV2] Fix bug where play/pause button shows even after anims removed 2026-02-05 18:59:08 -08:00
d7b1f0e067 [WV2] Minor tweaks to look more like the real wardrobe 2026-02-05 18:49:07 -08:00
4503c12a1f [WV2] Make show.css a bit more manageable 2026-02-05 18:43:02 -08:00
e694bc5d05 [WV2] Minor UI improvements to pose picker 2026-02-05 18:35:10 -08:00
fc93239482 [WV2] Scroll selected alt style into view 2026-02-05 18:17:34 -08:00
3b471fcb05 [WV2] Add alt style picker 2026-02-05 18:04:49 -08:00
366158b698 Add time frames to the Top Contributors list
Note that these queries are a bit slow. I don't think these new subpages will be accessed anywhere near often enough for their ~2sec query time to be a big deal. But if we start getting into trouble with it (e.g. someone starts slamming us for fun), we can look into how how cache these values over time.
2026-01-20 19:54:22 -08:00
b03b32c538 Merge branch 'main' into feature/wardrobe-v2
# Conflicts:
#	app/models/outfit.rb
#	spec/models/outfit_spec.rb
2026-01-20 18:53:21 -08:00
dd2f6be79f Fix HTML5 rendering differences in us vs Neopets
I pulled the source map for the Neopets renderer, and had Claude compare it to ours. It noticed the key issue responsible for a high number of unsolved rendering issues: we weren't setting up the `MotionGuidePlugin`, which I've never heard of before. Whoops!

In addition to this, we made some other minor fixes for consistency:
- Use whatever Stage object the library exports (will sometimes be StageGL)
- Resize the stage rather than the clip (shouldn't matter?)
- Send a callback to the library when done (I'm not aware of any anims that use this but some may!)

The specific item I was debugging was "Food Fight Shower", and it works now! But I also know we've had a solid handful of similar inexplicable wild rendering bugs, which I imagine this solves as well.

We might want to consider auditing our Known Glitches on SWF assets to see how many of them can be removed, now that this is resolved.
2026-01-19 11:00:59 -08:00
f545510edc [WV2] Custom play/pause animations button 2026-01-03 10:44:10 -08:00
cbf69e1189 [WV2] Split template into partials 2025-12-26 23:19:39 -08:00
9ea48f6e8c [WV2] Improve pose picker button styles
Make it more subtle, to create clearer hierarchy between species/color and pose
2025-12-26 23:11:22 -08:00
812e8226bb [WV2] Unify button styles 2025-12-26 23:01:40 -08:00
74386b45d7 [WV2] More advanced mobile layout 2025-12-26 22:32:20 -08:00
ba0612b694 [WV2] Fix controls area width on mobile 2025-12-26 22:28:24 -08:00
b36b1577b5 [WV2] Fix cursor for outfit viewer play/pause 2025-12-26 22:19:06 -08:00
fb8fb4b27e [WV2] Fix anchor positioning for pose picker popover 2025-12-26 22:15:57 -08:00
6eace54c34 [WV2] Pose picker popover 2025-11-11 18:07:06 -08:00
76496f8a6d [WV2] Pose picker first draft 2025-11-11 17:41:57 -08:00
78931ddb47 [WV2] Move to a new WardrobeController 2025-11-11 17:21:03 -08:00
e72a0ec72f [WV2] Fix outfit viewer scaling 2025-11-03 07:50:03 +00:00
c4290980ed [WV2] Item search first draft 2025-11-03 07:50:03 +00:00
079bcc8d1d [WV2] Add item removal 2025-11-03 00:44:12 +00:00
dad185150c [WV2] Add badges to items 2025-11-02 23:48:39 +00:00
f96569b2bf [WV2] Persist state in URL 2025-11-02 08:55:17 +00:00
ddb89dc2fa [WV2] Fix iframe border in outfit-viewer
I think our application reset CSS usually kills this, and maybe our wardrobe v2 CSS should reset too? But seems smart to have it here for consistency.
2025-11-02 08:19:53 +00:00
14298fafa9 [WV2] Extract species-color-picker component 2025-11-02 08:19:16 +00:00
2dc5505147 [WV2] Move species color picker into outfit area 2025-11-02 08:06:27 +00:00
a00d57bcbb Fix outfit sizing in wardrobe v2 2025-11-02 07:58:11 +00:00
276cc1b5ea Wardrobe V2 initial proof-of-concept 2025-11-02 07:43:54 +00:00
10708de615 Migrate from Owls NC values to Lebron
Owls has retired, and a new team have taken up the mantle! Exciting!
2025-06-27 15:26:38 -07:00
903d6a8a19 Disallow email addresses in Neopets usernames
People are evading the filtering in the description and they know it!
Boooo!
2025-06-22 11:16:26 -07:00