Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import {
mintEndInstantUtcForMintDay,
mintStartInstantUtcForMintDay,
nextMintDateOnOrAfter,
wallTimeToUtcInstantInZone,
Expand All @@ -16,6 +15,17 @@ const formatAthensTime = (date: Date): string =>
const isoDate = (y: number, m: number, d: number): Date =>
new Date(Date.UTC(y, m, d));

const mintEndInstantUtcForMintDay = (mintDay: Date): Date => {
const nextDay = new Date(
Date.UTC(
mintDay.getUTCFullYear(),
mintDay.getUTCMonth(),
mintDay.getUTCDate() + 1
)
);
return wallTimeToUtcInstantInZone(nextDay, 17, 0);
};

describe("meme calendar timezone handling", () => {
it("keeps mint start anchored to 17:40 Athens time across 2024", () => {
const months = Array.from({ length: 12 }, (_, idx) => idx);
Expand Down
2 changes: 1 addition & 1 deletion codex/STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ This table is the single source of truth for active and historical tickets. Keep
| TKT-0007 | Stabilize group name search input | In-Progress | P0 | simo6529 | [#1540](https://github.com/6529-Collections/6529seize-frontend/pull/1540) | 2025-10-14 |
| TKT-0008 | Reconcile Codex board merge conflicts | In-Progress | P1 | openai-assistant | [#1539](https://github.com/6529-Collections/6529seize-frontend/pull/1539) | 2025-10-14 |
| TKT-0009 | Refactor Brain notifications shell for modular clarity | In-Progress | P1 | simo6529 | [#1545](https://github.com/6529-Collections/6529seize-frontend/pull/1545) | 2025-10-15 |
| TKT-0010 | Refactor WaveDropsAll component for modular clarity | In-Progress | P1 | openai-assistant | [#1560](https://github.com/6529-Collections/6529seize-frontend/pull/1560) | 2025-10-22 |
| TKT-0010 | Refactor WaveDropsAll component for modular clarity | In-Progress | P1 | openai-assistant | [#1560](https://github.com/6529-Collections/6529seize-frontend/pull/1560) | 2025-10-29 |
| TKT-0011 | Restore identity search keyboard navigation | Done | P1 | simo6529 | Pending (branch block-add-identity-to-wave) | 2025-10-26 |
| TKT-0012 | Refactor wave group edit buttons for modular clarity | In-Progress | P1 | openai-assistant | [#1544](https://github.com/6529-Collections/6529seize-frontend/pull/1544) | 2025-10-26 |
| TKT-0013 | Respect unstyled flag in compact menu button | In-Progress | P1 | openai-assistant | — | 2025-10-23 |
Expand Down
1 change: 1 addition & 0 deletions codex/tickets/TKT-0010.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,4 @@ title: Refactor WaveDropsAll component for modular clarity
- 2025-10-22T11:18:04Z – Updated `parseSeizeQuoteLink` to accept both serial number and drop-based quote URLs and expanded unit tests (`npm run test -- --runTestsByPath __tests__/helpers/SeizeLinkParser.test.ts`) to cover the additional cases.
- 2025-10-22T11:21:14Z – Removed placeholder origin fallback from Seize quote parsing and documented the new requirement in `AGENTS.md`; `npm run test -- --runTestsByPath __tests__/helpers/SeizeLinkParser.test.ts` remains green.
- 2025-10-22T11:24:22Z – Normalized Seize quote parsing to trim trailing slashes from query values (wave, serial, drop) and added regression tests (`npm run test -- --runTestsByPath __tests__/helpers/SeizeLinkParser.test.ts`).
- 2025-10-29T09:00:30Z – Added data-driven clipboard handling for WaveDrops notes, including custom copy formatting, modifier-based Markdown export, and toast feedback aligned with the copy spec (manual verification only; no commands executed per policy).
5 changes: 5 additions & 0 deletions components/drops/view/DropsList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,11 @@ const DropsList = memo(function DropsList({
<HighlightDropWrapper
key={drop.stableKey}
id={`drop-${drop.serial_no}`}
waveDropId={
drop.type === DropSize.FULL
? drop.stableHash ?? drop.id ?? drop.stableKey
: undefined
}
ref={
getItemData.serialNo === drop.serial_no
? getItemData.targetDropRef
Expand Down
10 changes: 9 additions & 1 deletion components/drops/view/HighlightDropWrapper.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ interface HighlightDropWrapperProps {
readonly fadeMs?: number;
readonly visibilityThreshold?: number;
readonly id?: string;
readonly waveDropId?: string;
}

const MAX_VISIBILITY_WAIT_MS = 4000;
Expand All @@ -39,6 +40,7 @@ const HighlightDropWrapper = forwardRef<
fadeMs = 500,
visibilityThreshold = 0.6,
id,
waveDropId,
},
forwardedRef
) => {
Expand Down Expand Up @@ -242,7 +244,13 @@ const HighlightDropWrapper = forwardRef<
);

return (
<div ref={setNode} id={id} className={classes} style={transitionStyle}>
<div
ref={setNode}
id={id}
className={classes}
style={transitionStyle}
data-wave-drop-id={waveDropId}
>
{children}
</div>
);
Expand Down
2 changes: 2 additions & 0 deletions components/waves/drops/WaveDrop.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,8 @@ const WaveDrop = ({
} ${isProfileView ? "tw-mb-3" : ""} tw-w-full`}>
<div
className={dropClasses}
data-wave-drop-id={drop.stableHash ?? drop.id}
data-serial-no={drop.serial_no}
onTouchStart={handleTouchStart}
onTouchEnd={handleTouchEnd}
onTouchMove={handleTouchMove}>
Expand Down
Loading