#!/usr/bin/env bash
set -euo pipefail

BASE_DIR="$HOME/trmnl_out/quotes"
OUT_FILE="$BASE_DIR/quotes.json"
QUOTES_FILE="$BASE_DIR/cytaty_baza.md"

if [[ ! -s "$QUOTES_FILE" ]]; then
  echo "Błąd: brak cytatów w $QUOTES_FILE" >&2
  exit 1
fi

mapfile -t QUOTES < <(grep -ve '^\s*$' "$QUOTES_FILE")
TOTAL=${#QUOTES[@]}
if (( TOTAL == 0 )); then
  echo "Błąd: brak cytatów w $QUOTES_FILE" >&2
  exit 1
fi

TODAY=$(TZ=Europe/Warsaw date +%Y-%m-%d)
HASH=$(printf '%s' "$TODAY" | sha256sum | cut -c1-8)
INDEX=$(( 0x$HASH % TOTAL ))
QUOTE=${QUOTES[$INDEX]}

UPDATED=$(date -u +"%Y-%m-%dT%H:%M:%SZ")

jq -n --arg updated "$UPDATED" \
      --arg subtitle "$QUOTE" \
      --arg source "$QUOTES_FILE" '
{
  updated_at: $updated,
  provider: "Lokalne Cytaty",
  results: [
    {
      subtitle: $subtitle,
      description: "Codzienna dawka motywacji i inspiracji.",
      kind: "quote",
      source: $source
    }
  ]
}
' > "$OUT_FILE"

echo "OK: zbudowano $OUT_FILE"
