type MissionDraftInput = {
missionType: "place_video" | "object_photo" | "egocentric_action_video" | "retail_photo" | "event_video";
title: string;
description: string;
mediaType: "photo" | "video";
reward: { token: "KATCH" | "USDC"; amount: number };
targetCount: number;
verification: {
accept: string[];
reject: string[];
};
shortDescription?: string;
location?: {
placeLabel?: string;
visibility?: LocationCircle;
submission?: LocationCircle;
};
category?: string;
icon?: string;
};
type LocationCircle = {
center: { lat: number; lng: number };
radiusMeters: number;
minGpsAccuracyMeters?: number;
gpsMaxAgeSeconds?: number;
};