fix: server time different than client
This commit is contained in:
parent
2561558c50
commit
313c9973cd
|
|
@ -31,7 +31,8 @@ async function api(path, opts = {}) {
|
||||||
|
|
||||||
// Format relative time
|
// Format relative time
|
||||||
function formatAgo(ms) {
|
function formatAgo(ms) {
|
||||||
const s = Math.floor(ms / 1000);
|
const s = Math.max(0, Math.floor(ms / 1000));
|
||||||
|
if (s < 2) return 'just now';
|
||||||
if (s < 60) return `${s}s ago`;
|
if (s < 60) return `${s}s ago`;
|
||||||
if (s < 3600) return `${Math.floor(s / 60)}m ago`;
|
if (s < 3600) return `${Math.floor(s / 60)}m ago`;
|
||||||
if (s < 86400)return `${Math.floor(s / 3600)}h ago`;
|
if (s < 86400)return `${Math.floor(s / 3600)}h ago`;
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,8 @@ const eta = new Eta({ views: resolve(import.meta.dir, "../views"), cache: true,
|
||||||
|
|
||||||
function timeAgoSSR(date: string | Date): string {
|
function timeAgoSSR(date: string | Date): string {
|
||||||
const ts = new Date(date).getTime();
|
const ts = new Date(date).getTime();
|
||||||
const s = Math.floor((Date.now() - ts) / 1000);
|
const s = Math.max(0, Math.floor((Date.now() - ts) / 1000));
|
||||||
const text = s < 60 ? `${s}s ago` : s < 3600 ? `${Math.floor(s/60)}m ago` : s < 86400 ? `${Math.floor(s/3600)}h ago` : `${Math.floor(s/86400)}d ago`;
|
const text = s < 2 ? 'just now' : s < 60 ? `${s}s ago` : s < 3600 ? `${Math.floor(s/60)}m ago` : s < 86400 ? `${Math.floor(s/3600)}h ago` : `${Math.floor(s/86400)}d ago`;
|
||||||
return `<span class="timestamp" data-ts="${ts}">${text}</span>`;
|
return `<span class="timestamp" data-ts="${ts}">${text}</span>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
16
deploy.sh
16
deploy.sh
|
|
@ -95,14 +95,15 @@ REMOTE
|
||||||
echo "[monitor] All monitors deployed"
|
echo "[monitor] All monitors deployed"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Parse args
|
# Parse args — supports both "./deploy.sh web api" and "./deploy.sh web,api"
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
echo "Usage: $0 [web|api|pay|monitor|db|all] [...]"
|
echo "Usage: $0 [web|api|pay|monitor|db|all] [...]"
|
||||||
|
echo " $0 web,api,pay (comma-separated)"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for arg in "$@"; do
|
deploy_target() {
|
||||||
case "$arg" in
|
case "$1" in
|
||||||
db) deploy_db ;;
|
db) deploy_db ;;
|
||||||
api) deploy_api ;;
|
api) deploy_api ;;
|
||||||
pay) deploy_pay ;;
|
pay) deploy_pay ;;
|
||||||
|
|
@ -110,8 +111,15 @@ for arg in "$@"; do
|
||||||
monitor) deploy_monitor ;;
|
monitor) deploy_monitor ;;
|
||||||
nuke-db) nuke_db ;;
|
nuke-db) nuke_db ;;
|
||||||
all) deploy_db; deploy_api; deploy_pay; deploy_web; deploy_monitor ;;
|
all) deploy_db; deploy_api; deploy_pay; deploy_web; deploy_monitor ;;
|
||||||
*) echo "Unknown target: $arg (valid: web, api, pay, monitor, db, nuke-db, all)"; exit 1 ;;
|
*) echo "Unknown target: $1 (valid: web, api, pay, monitor, db, nuke-db, all)"; exit 1 ;;
|
||||||
esac
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
for arg in "$@"; do
|
||||||
|
IFS=',' read -ra targets <<< "$arg"
|
||||||
|
for target in "${targets[@]}"; do
|
||||||
|
deploy_target "$target"
|
||||||
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "Deploy complete."
|
echo "Deploy complete."
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue