From 5f85d592580fc1a0bf69e8e05eb7fd3f7b14a8a0 Mon Sep 17 00:00:00 2001 From: Quentin Bramas Date: Thu, 4 Mar 2021 11:22:19 +0100 Subject: [PATCH] fix (#356): preventing entering the expiration date on safari (#366) Co-authored-by: Quentin Bramas --- client/pages/filespage/share.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/client/pages/filespage/share.js b/client/pages/filespage/share.js index 8873e362..8ea9b77f 100644 --- a/client/pages/filespage/share.js +++ b/client/pages/filespage/share.js @@ -182,9 +182,15 @@ export class ShareComponent extends React.Component { }; const datify = function(str){ if(!str) return str; - const d = new Date(str); - const pad = (a) => a.toString().length === 1 ? "0"+a : a; - return [d.getFullYear(), pad(d.getMonth()), pad(d.getDate())].join("-"); + const d = new Date(str); + + // old browser not implementing input[type=date] elements + // may return invalid date, + if(isNaN(d.getDate())) return str; + + const pad2 = (a) => ("00"+a).slice(-2); + const pad4 = (a) => ("0000"+a).slice(-4); + return [pad4(d.getFullYear()), pad2(d.getMonth()+1), pad2(d.getDate())].join("-"); }; return (