fix journal path

This commit is contained in:
Michael Zhang 2024-06-11 10:05:12 -04:00
parent 7fc3917134
commit dad4ed7591
5 changed files with 53 additions and 54 deletions

View file

@ -1,35 +1,33 @@
{ {
"build": { "build": {
"beforeDevCommand": "pnpm dev", "beforeDevCommand": "pnpm dev",
"beforeBuildCommand": "pnpm build", "beforeBuildCommand": "pnpm build",
"frontendDist": "../dist", "frontendDist": "../dist",
"devUrl": "http://localhost:1420" "devUrl": "http://localhost:1420"
}, },
"bundle": { "bundle": {
"active": true, "active": true,
"targets": "all", "targets": "all",
"icon": [ "icon": [
"icons/32x32.png", "icons/32x32.png",
"icons/128x128.png", "icons/128x128.png",
"icons/128x128@2x.png", "icons/128x128@2x.png",
"icons/icon.icns", "icons/icon.icns",
"icons/icon.ico" "icons/icon.ico"
] ]
}, },
"productName": "panorama", "identifier": "io.mzhang.panorama",
"version": "0.1.0", "plugins": {},
"identifier": "io.mzhang.panorama", "app": {
"plugins": {}, "security": {
"app": { "csp": null
"security": { },
"csp": null "windows": [
}, {
"windows": [ "title": "panorama",
{ "width": 800,
"title": "panorama", "height": 600
"width": 800, }
"height": 600 ]
} }
] }
}
}

View file

@ -50,6 +50,7 @@ export default function NodeDisplay({ id, idx }: NodeDisplayProps) {
function NodeDisplayHeaderLoaded({ idx, id, data }) { function NodeDisplayHeaderLoaded({ idx, id, data }) {
const { openNode, closeNode } = useNodeControls(); const { openNode, closeNode } = useNodeControls();
const updatedAt = data.updated_at && Date.parse(data.updated_at);
return ( return (
<> <>
@ -64,9 +65,9 @@ function NodeDisplayHeaderLoaded({ idx, id, data }) {
)} )}
<span> <span>
Type {data.type}{" "} Type {data.type}{" "}
{data.created_at && ( {updatedAt && (
<> <>
&middot; Last updated <ReactTimeAgo date={data.updated_at * 1000} /> &middot; Last updated <ReactTimeAgo date={updatedAt} />
</> </>
)} )}
</span> </span>

View file

@ -29,19 +29,19 @@ impl AppState {
self.db.run_script( self.db.run_script(
" "
{ {
?[id, title, type] <- [[$node_id, $title, 'panorama/journal/page']] ?[id, title, type] <- [[$node_id, $title, 'panorama/journal/page']]
:put node { id, title, type } :put node { id, title, type }
} }
{ {
?[node_id, content] <- [[$node_id, '']] ?[node_id, content] <- [[$node_id, '']]
:put journal { node_id => content } :put journal { node_id => content }
} }
{ {
?[day, node_id] <- [[$day, $node_id]] ?[day, node_id] <- [[$day, $node_id]]
:put journal_day { day => node_id } :put journal_day { day => node_id }
} }
", ",
btmap! { btmap! {
"node_id".to_owned() => node_id.clone().into(), "node_id".to_owned() => node_id.clone().into(),
"day".to_owned() => today.clone().into(), "day".to_owned() => today.clone().into(),

View file

@ -3,14 +3,15 @@ use std::{
path::PathBuf, path::PathBuf,
}; };
use axum::extract::State; use axum::{extract::State, Json};
use miette::IntoDiagnostic; use miette::IntoDiagnostic;
use serde_json::Value;
use crate::{error::AppResult, AppState}; use crate::{error::AppResult, AppState};
// This code is really bad but gives me a quick way to look at all of the data // This code is really bad but gives me a quick way to look at all of the data
// in the data at once. Rip this out once there's any Real Security Mechanism. // in the data at once. Rip this out once there's any Real Security Mechanism.
pub async fn export(State(state): State<AppState>) -> AppResult<()> { pub async fn export(State(state): State<AppState>) -> AppResult<Json<Value>> {
let export = state.export().await?; let export = state.export().await?;
let base_dir = PathBuf::from("export"); let base_dir = PathBuf::from("export");
@ -20,5 +21,5 @@ pub async fn export(State(state): State<AppState>) -> AppResult<()> {
serde_json::to_writer_pretty(file, &export).into_diagnostic()?; serde_json::to_writer_pretty(file, &export).into_diagnostic()?;
Ok(()) Ok(Json(export))
} }

View file

@ -13,8 +13,7 @@ use crate::{error::AppResult, AppState};
pub(super) struct JournalApi; pub(super) struct JournalApi;
pub(super) fn router() -> Router<AppState> { pub(super) fn router() -> Router<AppState> {
Router::new() Router::new().route("/get_todays_journal_id", get(get_todays_journal_id))
.route("/journal/get_todays_journal_id", get(get_todays_journal_id))
} }
#[utoipa::path( #[utoipa::path(