Add watch/phone icons and logo, reorder the interpretation report, and stamp every report with the day it's for
build / build (push) Successful in 30s
build / build (push) Successful in 30s
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
|
||||
void reading_generate(const char *tarot_seed, const BirthData *birth,
|
||||
time_t utc_moment, DailyReading *out) {
|
||||
out->utc_moment = utc_moment;
|
||||
astro_compute_natal_chart(birth, &out->natal);
|
||||
astro_compute_daily_transits(utc_moment, &out->natal, &out->transits);
|
||||
tarot_draw_celtic_cross(tarot_seed, &out->spread);
|
||||
@@ -160,6 +161,9 @@ static void print_body_position_json(FILE *out, const char *indent, Body body,
|
||||
void reading_print_json(const DailyReading *r, FILE *out) {
|
||||
fprintf(out, "{\n");
|
||||
|
||||
struct tm *utc = gmtime(&r->utc_moment);
|
||||
fprintf(out, " \"date\": \"%04d-%02d-%02d\",\n", utc->tm_year + 1900, utc->tm_mon + 1, utc->tm_mday);
|
||||
|
||||
fprintf(out, " \"natal\": {\n \"bodies\": [\n");
|
||||
for (int b = 0; b < NUM_BODIES; b++) {
|
||||
print_body_position_json(out, " ", (Body)b, &r->natal.bodies[b]);
|
||||
|
||||
@@ -15,6 +15,12 @@
|
||||
#include "tarot.h"
|
||||
|
||||
typedef struct {
|
||||
/* The moment passed to reading_generate() - the day this reading is
|
||||
* for, not when it happened to be generated. Set by reading_generate()
|
||||
* itself, so every caller (CLI, watch, reading_load_json() on the
|
||||
* interpreter side) gets it for free without threading it through
|
||||
* separately. */
|
||||
time_t utc_moment;
|
||||
NatalChart natal;
|
||||
DailyTransits transits;
|
||||
CelticCrossSpread spread;
|
||||
|
||||
Reference in New Issue
Block a user