chore: remove dead TierPicker + strike resolved gotchas
TierPicker.vue is a 5-tier preset picker from before the arbitrary- amount contribution redesign. Zero imports across app/ and server/ — purely dead code (99 lines). Strike two LAUNCH_READINESS bullets that describe already-fixed issues: the "stale tier comment" in useMemberPayment.js (no `tier` references remain in that file), and the SeriesPassPurchase auto- refresh gotcha (fetchPassInfo() already runs after the success path at line 318).
This commit is contained in:
parent
be24ae32fb
commit
3c49317437
2 changed files with 0 additions and 102 deletions
|
|
@ -1,99 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="tier-picker">
|
|
||||||
<div
|
|
||||||
v-for="tier in tiers"
|
|
||||||
:key="tier.amount"
|
|
||||||
class="tier-option"
|
|
||||||
:class="{ current: modelValue === tier.amount }"
|
|
||||||
@click="$emit('update:modelValue', tier.amount)"
|
|
||||||
>
|
|
||||||
<span class="tier-amount">{{ tier.display }}</span>
|
|
||||||
<span v-if="tier.subtitle" class="tier-subtitle">{{ tier.subtitle }}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
defineProps({
|
|
||||||
modelValue: { type: Number, default: 0 },
|
|
||||||
tiers: {
|
|
||||||
type: Array,
|
|
||||||
default: () => [
|
|
||||||
{ amount: 0, display: "$0", label: "Free" },
|
|
||||||
{ amount: 5, display: "$5", label: "/month" },
|
|
||||||
{ amount: 15, display: "$15", label: "/month" },
|
|
||||||
{ amount: 30, display: "$30", label: "/month" },
|
|
||||||
{ amount: 50, display: "$50", label: "/month" },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
defineEmits(["update:modelValue"]);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
.tier-picker {
|
|
||||||
display: flex;
|
|
||||||
gap: 0;
|
|
||||||
margin-bottom: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tier-option {
|
|
||||||
flex: 1;
|
|
||||||
padding: 18px 8px;
|
|
||||||
text-align: center;
|
|
||||||
border: 1px dashed var(--border);
|
|
||||||
background: var(--bg);
|
|
||||||
cursor: pointer;
|
|
||||||
transition: all 0.15s;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Overlap adjacent borders so dashed lines collapse into one */
|
|
||||||
.tier-option + .tier-option {
|
|
||||||
margin-left: -1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tier-option:hover {
|
|
||||||
background: var(--surface-hover);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Active item paints its solid border on top of any neighbor */
|
|
||||||
.tier-option.current {
|
|
||||||
border-color: var(--candle);
|
|
||||||
border-style: solid;
|
|
||||||
background: var(--surface);
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tier-amount {
|
|
||||||
font-size: 24px;
|
|
||||||
font-weight: 600;
|
|
||||||
color: var(--text);
|
|
||||||
font-family: "Brygada 1918", serif;
|
|
||||||
display: block;
|
|
||||||
line-height: 1.1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tier-option.current .tier-amount {
|
|
||||||
color: var(--candle);
|
|
||||||
}
|
|
||||||
|
|
||||||
.tier-subtitle {
|
|
||||||
display: block;
|
|
||||||
margin-top: 4px;
|
|
||||||
font-size: 11px;
|
|
||||||
color: var(--text-dim);
|
|
||||||
font-family: "Commit Mono", monospace;
|
|
||||||
letter-spacing: 0.02em;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
|
||||||
.tier-picker {
|
|
||||||
flex-wrap: wrap;
|
|
||||||
}
|
|
||||||
.tier-option {
|
|
||||||
min-width: 60px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
@ -144,7 +144,6 @@ See `docs/TODO.md` for:
|
||||||
|
|
||||||
- **Admin edit does not sync Helcim `recurringAmount`.** `/admin/members/[id]` PUT writes `contributionAmount` direct to Mongo by design. Admins must PATCH Helcim manually. Worth surfacing in admin UI or docs.
|
- **Admin edit does not sync Helcim `recurringAmount`.** `/admin/members/[id]` PUT writes `contributionAmount` direct to Mongo by design. Admins must PATCH Helcim manually. Worth surfacing in admin UI or docs.
|
||||||
- **Cadence switch rejected on active subscriptions.** `update-contribution.post.js:184-189` refuses cadence changes mid-subscription; no UI toggle exists on `/member/account`. Adding cadence switch would require a Helcim subscription replacement flow, not a plain update.
|
- **Cadence switch rejected on active subscriptions.** `update-contribution.post.js:184-189` refuses cadence changes mid-subscription; no UI toggle exists on `/member/account`. Adding cadence switch would require a Helcim subscription replacement flow, not a plain update.
|
||||||
- **`SeriesPassPurchase.vue` doesn't auto-refresh after purchase.** (Observed 2026-04-21 during Phase 4 series-pass functional tests.) Component's local `$fetch` to `/api/series/{id}/tickets/available` fires on mount + `userEmail` watch, but isn't re-invoked after a successful purchase — the "already registered" state only appears on next navigation. Parent page calls `refreshNuxtData()` but the component doesn't participate in it. Fix: call `fetchPassInfo()` after the success toast in `handleSubmit`, or lift the fetch to `useAsyncData` so it can be refreshed from outside.
|
|
||||||
- **S2 test fixture `id`/`slug` inconsistency.** (Local dev only.) Seeded S2 series has `id: 'test-s2-drop-in-allowed'` but `slug: 'test-s2-drop-in-allowed-series'`. Doesn't affect prod — fix the seed script if anyone re-runs fixtures and is confused why `id`-based Mongo queries return empty.
|
- **S2 test fixture `id`/`slug` inconsistency.** (Local dev only.) Seeded S2 series has `id: 'test-s2-drop-in-allowed'` but `slug: 'test-s2-drop-in-allowed-series'`. Doesn't affect prod — fix the seed script if anyone re-runs fixtures and is confused why `id`-based Mongo queries return empty.
|
||||||
|
|
||||||
### Events-surface visual audit — deferred items (2026-04-21)
|
### Events-surface visual audit — deferred items (2026-04-21)
|
||||||
|
|
@ -159,8 +158,6 @@ Context: Phase 4 audit against `docs/specs/events-visual-audit-findings.md` fixe
|
||||||
|
|
||||||
### Contribution-amount redesign — cosmetic cleanup (naming only, not behavior)
|
### Contribution-amount redesign — cosmetic cleanup (naming only, not behavior)
|
||||||
- Rename admin members column header "Tier" → "Contribution" (`app/pages/admin/members/index.vue:265`).
|
- Rename admin members column header "Tier" → "Contribution" (`app/pages/admin/members/index.vue:265`).
|
||||||
- Delete dead `app/components/TierPicker.vue`.
|
|
||||||
- Update stale tier comment in `app/composables/useMemberPayment.js:59`.
|
|
||||||
- Update error log message referencing "tier" in `server/api/members/update-contribution.post.js:221`.
|
- Update error log message referencing "tier" in `server/api/members/update-contribution.post.js:221`.
|
||||||
- Rename `handleUpdateTier` handler in `app/pages/member/account.vue`.
|
- Rename `handleUpdateTier` handler in `app/pages/member/account.vue`.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue