File: services/types.ts
- Heart type already has optional
slugfield ✓ - HeartGroup type structure is already defined ✓
- Add
UpdateHeartRequesttype for updating heart descriptions
The RIVER Token Delivery App is a game-changer for Putnam County, keeping our dollars local instead of flowing to Wall Street. Using RIVER tokens, a digital currency on the Cardano blockchain, residents can order same-day deliveries of local goods—like produce from The Stand or oranges from Crescent City. It’s perfect for seniors without cars or single working parents with busy lives, supporting local farmers and shops while boosting our ~73,000-strong community’s economy.
The app has three easy sections with river-inspired names. In The Current, you request goods (e.g., “Need 10 lbs of potatoes for 8 RIVER”). The Tributary lets sellers or drivers view and accept requests, delivering goods and earning RIVER tokens via QR code payment. The Delta is where locals offer items for sale, like Interlachen eggs or Palatka crafts, for our delivery service to handle.
An AI acts as your river guide, asking questions like, “Low-carb? Cooking for
| export type TimeLedgerItem = { | |
| amountPerMs: number; | |
| /** The timestamp of when the ledger item was ended */ | |
| endedAt?: number; | |
| }; | |
| export type SumLedgerItem = { | |
| /** If the resource has been stored, this will tell you where */ | |
| storageMapContentPath?: string; | |
| amount: number; |
| use aiken/collection/dict | |
| use aiken/collection/list | |
| use aiken/crypto.{Blake2b_224, Hash, VerificationKey} | |
| use cardano/assets.{PolicyId, policies} | |
| use cardano/transaction.{InlineDatum, OutputReference, Transaction} | |
| pub type Datum { | |
| /// Owner's credentials | |
| owner: VerificationKeyHash, | |
| /// Beneficiary's credentials |
| import { Client as HubspotClient } from "@hubspot/api-client"; | |
| import axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosRequestHeaders } from "axios"; | |
| // Helpers | |
| import { CrudOps, dynamicAxiosRequest } from "../isomorphic/dynamicAxiosRequest"; | |
| import { replaceTemplateValues } from "../templateUtils"; | |
| // Constants | |
| import { | |
| HUBSPOT_CONTACT_ASSOCIATION_ID, |
| export default function ProgressBar({ currentLevel }: { currentLevel: number }) { | |
| return ( | |
| <div className="flex justify-between items-center font-mono relative"> | |
| {Array.from({ length: 9 }, (_, i) => i).map((index) => ( | |
| <div | |
| key={index} | |
| className={`absolute h-1 z-0 ${index < currentLevel - 1 ? "bg-white" : "bg-zinc-800"}`} | |
| style={{ left: `calc(${(index / 10) * 100}% + 4%)`, width: `11%` }} | |
| ></div> | |
| ))} |
| const getTasks = (ownerId, after) => | |
| hubspotInstance | |
| .post("/crm/v3/objects/tasks/search", { | |
| after, | |
| limit: 100, | |
| filterGroups: [ | |
| { | |
| filters: [ | |
| { |
| { | |
| "$schema": "https://json.schemastore.org/tsconfig", | |
| "compilerOptions": { | |
| "allowJs": false, | |
| "alwaysStrict": true, | |
| "baseUrl": ".", | |
| "esModuleInterop": true, | |
| "forceConsistentCasingInFileNames": true, | |
| "incremental": true, | |
| "isolatedModules": true, |
| { | |
| "user_package_id": "a12802db-834f-48c4-89f2-e4a1558e8bc2", | |
| "user_package_state": 0, | |
| "redeemable": null, | |
| "invoice": { | |
| "status": 4, | |
| "receipt_no": "II9947171", | |
| "id": "8bf6c016-b107-41b9-8218-2c6b90c4aba7", | |
| "no": "II9947171" | |
| }, |