From d467fa4f6cac18359071e544659be2c06a264cd4 Mon Sep 17 00:00:00 2001 From: Nulo Date: Sat, 9 Sep 2023 12:22:20 -0300 Subject: [PATCH] mejorar --- bun.lockb | Bin 56023 -> 54587 bytes package.json | 63 ++++++++++++++-------------- src/routes/w/[slug]/+page.server.ts | 50 +++++++++++++++------- src/routes/w/[slug]/+page.svelte | 9 ++-- 4 files changed, 70 insertions(+), 52 deletions(-) diff --git a/bun.lockb b/bun.lockb index 66c5892d79ee204868ae03796905e21691b9be60..e724333b1c88444db58cf93eb9468eb999eb3bbe 100755 GIT binary patch delta 11180 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 delta 12098 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 HBD?)J+?c=O diff --git a/package.json b/package.json index d35361e..deb044f 100644 --- a/package.json +++ b/package.json @@ -1,34 +1,33 @@ { - "name": "astrologo", - "version": "0.0.1", - "private": true, - "scripts": { - "dev": "vite dev", - "build": "vite build", - "preview": "vite preview", - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "lint": "prettier --plugin-search-dir . --check .", - "format": "prettier --plugin-search-dir . --write ." - }, - "devDependencies": { - "@sveltejs/adapter-auto": "^2.0.0", - "@sveltejs/kit": "^1.20.4", - "prettier": "^2.8.0", - "prettier-plugin-svelte": "^2.10.1", - "svelte": "^4.0.5", - "svelte-check": "^3.4.3", - "tslib": "^2.4.1", - "typescript": "^5.0.0", - "vite": "^4.4.2" - }, - "type": "module", - "dependencies": { - "bulma": "^0.9.4", - "date-fns": "^2.30.0", - "erina-sign-teller": "^3.4.5", - "unslugify": "^1.0.4", - "wikiapi": "^1.19.4", - "wikibase-sdk": "^9.2.2" - } + "name": "astrologo", + "version": "0.0.1", + "private": true, + "scripts": { + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "lint": "prettier --plugin-search-dir . --check .", + "format": "prettier --plugin-search-dir . --write ." + }, + "devDependencies": { + "@sveltejs/adapter-auto": "^2.0.0", + "@sveltejs/kit": "^1.20.4", + "prettier": "^2.8.0", + "prettier-plugin-svelte": "^2.10.1", + "svelte": "^4.0.5", + "svelte-check": "^3.4.3", + "tslib": "^2.4.1", + "typescript": "^5.0.0", + "vite": "^4.4.2" + }, + "type": "module", + "dependencies": { + "bulma": "^0.9.4", + "dayjs": "^1.11.9", + "erina-sign-teller": "^3.4.5", + "unslugify": "^1.0.4", + "wikibase-sdk": "^9.2.2" + } } diff --git a/src/routes/w/[slug]/+page.server.ts b/src/routes/w/[slug]/+page.server.ts index e3e6835..1d72b40 100644 --- a/src/routes/w/[slug]/+page.server.ts +++ b/src/routes/w/[slug]/+page.server.ts @@ -1,24 +1,46 @@ -import { error } from '@sveltejs/kit'; -import Wikiapi from 'wikiapi'; +// import { error } from '@sveltejs/kit'; +// import Wikiapi from 'wikiapi'; import unslugify from 'unslugify'; +import { WBK } from 'wikibase-sdk'; +import dayjs from 'dayjs'; +const wdk = WBK({ + instance: 'https://www.wikidata.org', + sparqlEndpoint: 'https://query.wikidata.org/sparql' +}); + +// month is zero-indexed export type Birth = { year: number; month: number; day: number }; +export type Entry = { name: string; birth: Birth }; -let cache = new Map(); +let cache = new Map(); /** @type {import('./$types').PageLoad} */ export async function load({ params }) { - const nombre = unslugify(params.slug); - const wiki = new Wikiapi(); - let birth: Birth; - if (cache.has(nombre)) { - birth = cache.get(nombre)!; + const query = unslugify(params.slug); + + if (cache.has(query)) { + return cache.get(query)!; } else { - const data = await wiki.data(nombre, 'P569'); - if (data.length === 0) throw error(404, 'Not found'); - const [year, month, day] = data[0]; - birth = { year, month, day }; - cache.set(nombre, birth); + // const data = await wiki.data(query, 'P569'); + // if (data.length === 0) throw error(404, 'Not found'); + // const [year, month, day] = data[0]; + + const url = wdk.getEntitiesFromSitelinks({ titles: [query] }); + const json = await fetch(url).then((res) => res.json()); + let name = query; + if (json.normalized?.n) { + name = json.normalized.n.to; + } + const entity = json.entities[Object.keys(json.entities)[0]]; + const birthday = dayjs(entity.claims?.P569[0]?.mainsnak?.datavalue?.value?.time); + const birth: Birth = { + year: birthday.year(), + month: birthday.month(), + day: birthday.date() + }; + const entry: Entry = { name, birth }; + cache.set(query, entry); + return entry; } - return { nombre: nombre, birth }; } diff --git a/src/routes/w/[slug]/+page.svelte b/src/routes/w/[slug]/+page.svelte index 1437326..e2aaa8c 100644 --- a/src/routes/w/[slug]/+page.svelte +++ b/src/routes/w/[slug]/+page.svelte @@ -3,10 +3,7 @@ import type { Birth } from './+page.server.js'; export let data; - $: birth = data.birth; - $: detalleSigno = signo(birth); - - const twoDigitNum = (num: number) => (num < 10 ? `0${num}` : num); + $: detalleSigno = signo(data.birth); const intl = Intl.DateTimeFormat('es', { dateStyle: 'long' }); const formatDate = (date: Date) => intl.format(date); @@ -18,11 +15,11 @@

- {data.nombre} es de {detalleSigno.sign} + {data.name} es de {detalleSigno.sign}

- Cumple el {formatBirth(birth)} + Cumple el {formatBirth(data.birth)}