From 4283862b2c32ce6d923ee2ef9591aec6a4f32d1f Mon Sep 17 00:00:00 2001 From: Nulo Date: Wed, 28 Feb 2024 22:28:45 -0300 Subject: [PATCH] opinion publica prototipo 1 --- .gitignore | 6 +- sitio/package.json | 1 + sitio/pnpm-lock.yaml | 44 ++++++++++- .../opinion-publica/placa-1/+page.server.ts | 27 +++++++ .../opinion-publica/placa-1/+page.svelte | 74 +++++++++++++++++++ 5 files changed, 148 insertions(+), 4 deletions(-) create mode 100644 sitio/src/routes/experimentos/opinion-publica/placa-1/+page.server.ts create mode 100644 sitio/src/routes/experimentos/opinion-publica/placa-1/+page.svelte diff --git a/.gitignore b/.gitignore index ca47d79..08a6f5c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,8 @@ .DS_Store node_modules -/build -/.svelte-kit -/package +build +.svelte-kit +package .env .env.* !.env.example diff --git a/sitio/package.json b/sitio/package.json index f046deb..c8af414 100644 --- a/sitio/package.json +++ b/sitio/package.json @@ -14,6 +14,7 @@ "db:generate": "drizzle-kit generate:sqlite" }, "dependencies": { + "@bybas/weather-icons": "^2.0.0", "@fontsource-variable/inter": "^5.0.16", "@libsql/client": "^0.5.2", "boring-name-generator": "^1.0.3", diff --git a/sitio/pnpm-lock.yaml b/sitio/pnpm-lock.yaml index 2dda8d2..eb250ba 100644 --- a/sitio/pnpm-lock.yaml +++ b/sitio/pnpm-lock.yaml @@ -5,6 +5,9 @@ settings: excludeLinksFromLockfile: false dependencies: + '@bybas/weather-icons': + specifier: ^2.0.0 + version: 2.0.0 '@fontsource-variable/inter': specifier: ^5.0.16 version: 5.0.16 @@ -120,7 +123,7 @@ devDependencies: version: 5.3.3 vite: specifier: ^5.0.3 - version: 5.1.1(@types/node@20.11.17) + version: 5.1.1 packages: @@ -136,6 +139,10 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.22 + /@bybas/weather-icons@2.0.0: + resolution: {integrity: sha512-sUcp8kbQZYoYgTpHkQ1vrxKVSHdc4SxzXLuluVZYa5u8Nqq/GhDYOtWrWLqgN/GhwsZ74dja8TlMvyTll4yl0Q==} + dev: false + /@digitak/grubber@3.1.4: resolution: {integrity: sha512-pqsnp2BUYlDoTXWG34HWgEJse/Eo1okRgNex8IG84wHrJp8h3SakeR5WhB4VxSA2+/D+frNYJ0ch3yXzsfNDoA==} dev: true @@ -3150,6 +3157,41 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true + /vite@5.1.1: + resolution: {integrity: sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.9.6 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /vite@5.1.1(@types/node@20.11.17): resolution: {integrity: sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==} engines: {node: ^18.0.0 || >=20.0.0} diff --git a/sitio/src/routes/experimentos/opinion-publica/placa-1/+page.server.ts b/sitio/src/routes/experimentos/opinion-publica/placa-1/+page.server.ts new file mode 100644 index 0000000..57c539f --- /dev/null +++ b/sitio/src/routes/experimentos/opinion-publica/placa-1/+page.server.ts @@ -0,0 +1,27 @@ +import { db } from "$lib/db"; +import { desc, isNotNull } from "drizzle-orm"; +import { scraps } from "../../../../schema"; +import type { PageServerLoad } from "./$types"; +import { queryLastWeek } from "$lib/data-processing/queryWeekly"; + +export const load: PageServerLoad = async ({ setHeaders }) => { + const t0 = performance.now(); + const [lastUpdated, ultimaSemana] = await Promise.all([ + db.query.scraps.findFirst({ + orderBy: desc(scraps.at), + where: isNotNull(scraps.totalTweetsSeen), + }), + queryLastWeek(), + ]); + const t1 = performance.now(); + console.log("lastUpdated+ultimaSemana", t1 - t0); + + setHeaders({ + "cache-control": "public, max-age=60", + }); + + return { + lastUpdated, + ultimaSemana, + }; +}; diff --git a/sitio/src/routes/experimentos/opinion-publica/placa-1/+page.svelte b/sitio/src/routes/experimentos/opinion-publica/placa-1/+page.svelte new file mode 100644 index 0000000..ea511eb --- /dev/null +++ b/sitio/src/routes/experimentos/opinion-publica/placa-1/+page.svelte @@ -0,0 +1,74 @@ + + + + +
+

+ El pronóstico de Milei en Twitter +

+ + + + + {#each days as day} + + {/each} + + + {#each tweets as tweets} + + {/each} + + + {#each tweets as tweets} + + {/each} + + + {#each retweets as retweets} + + {/each} + + + {#each screenTime as screenTime} + + {/each} + + +
+ {weekDayFormatter.format( + dayjs(day, "YYYY-MM-DD").tz(tz, true).toDate(), + )} +
+ {#if tweets.length < 300} + + {:else if tweets.length < 550} + + {:else} + + {/if} +
{tweets.length}❤️
{retweets.length}🔁
+ {formatTinyDurationFromMs(screenTime)} +
+