fix (time): hide time whenever not available

This commit is contained in:
MickaelK
2024-04-22 01:05:20 +10:00
parent 5af9d5250a
commit be716e6cf9
4 changed files with 15 additions and 9 deletions

View File

@ -323,7 +323,7 @@ class ExistingThingComponent extends React.Component {
is_renaming={this.state.is_renaming} is_renaming={this.state.is_renaming}
onRenameCancel={this.onRenameRequest.bind(this, false)} /> onRenameCancel={this.onRenameRequest.bind(this, false)} />
<DateTime <DateTime
show={this.state.icon !== "loading"} show={this.state.icon !== "loading" || this.props.file.time !== 0}
timestamp={this.props.file.time} /> timestamp={this.props.file.time} />
<ActionButton <ActionButton
onClickRename={this.onRenameRequest.bind(this)} onClickRename={this.onRenameRequest.bind(this)}

View File

@ -91,7 +91,8 @@ func (f File) Mode() os.FileMode {
} }
func (f File) ModTime() time.Time { func (f File) ModTime() time.Time {
if f.FTime == 0 { if f.FTime == 0 {
return time.Now() t := new(time.Time)
return *t
} }
return time.Unix(f.FTime, 0) return time.Unix(f.FTime, 0)
} }

View File

@ -125,16 +125,20 @@ func FileLs(ctx *App, res http.ResponseWriter, req *http.Request) {
etagger.Write([]byte(path + strconv.Itoa(len(entries)))) etagger.Write([]byte(path + strconv.Itoa(len(entries))))
for i := 0; i < len(entries); i++ { for i := 0; i < len(entries); i++ {
name := entries[i].Name() name := entries[i].Name()
modTime := entries[i].ModTime().UnixNano() / int64(time.Millisecond)
if i < 200 { // etag is generated from a few values to avoid large memory usage
etagger.Write([]byte(name + strconv.Itoa(int(modTime))))
}
files[i] = FileInfo{ files[i] = FileInfo{
Name: name, Name: name,
Size: entries[i].Size(), Size: entries[i].Size(),
Time: modTime, Time: func(mt time.Time) (modTime int64) {
if mt.IsZero() == false {
modTime = mt.UnixNano() / int64(time.Millisecond)
}
if i < 200 { // etag is generated from a few values to avoid large memory usage
etagger.Write([]byte(name + strconv.Itoa(int(modTime))))
}
return modTime
}(entries[i].ModTime()),
Type: func(mode os.FileMode) string { Type: func(mode os.FileMode) string {
if mode.IsRegular() { if mode.IsRegular() {
return "file" return "file"

View File

@ -222,6 +222,7 @@ func (this S3Backend) Ls(path string) (files []os.FileInfo, err error) {
files = append(files, &File{ files = append(files, &File{
FName: filepath.Base(*object.Prefix), FName: filepath.Base(*object.Prefix),
FType: "directory", FType: "directory",
FTime: 0,
}) })
} }
return aws.BoolValue(objs.IsTruncated) return aws.BoolValue(objs.IsTruncated)