From 490ebdd448fd170ba52332f4cc7ea11a8e3e94ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E9=A1=BA=E5=BC=BA?= <978987373@qq.com> Date: Tue, 21 Nov 2023 13:53:40 +0800 Subject: [PATCH] add freezed icon --- .../dirent-grid-view/dirent-grid-item.js | 4 +++- .../dirent-list-view/dirent-list-item.js | 6 ++++-- frontend/src/models/dirent.js | 1 + frontend/src/view-file-sdoc.js | 3 ++- media/img/file-freezed-32.png | Bin 0 -> 1660 bytes 5 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 media/img/file-freezed-32.png diff --git a/frontend/src/components/dirent-grid-view/dirent-grid-item.js b/frontend/src/components/dirent-grid-view/dirent-grid-item.js index 0232d9cc8a..1630ff1998 100644 --- a/frontend/src/components/dirent-grid-view/dirent-grid-item.js +++ b/frontend/src/components/dirent-grid-view/dirent-grid-item.js @@ -210,6 +210,8 @@ class DirentGridItem extends React.Component { let lockedInfo = gettext('locked by {name}'); lockedInfo = lockedInfo.replace('{name}', dirent.lock_owner_name); + const lockedImageUrl = `${mediaUrl}img/file-${dirent.is_freezed ? 'freezed' : 'locked'}-32.png`; + const lockedMessage = dirent.is_freezed ? gettext('freezed') : gettext('locked'); return (
  • @@ -227,7 +229,7 @@ class DirentGridItem extends React.Component { : } - {dirent.is_locked && {gettext('locked')}} + {dirent.is_locked && {lockedMessage}}
    {(dirent.type !== 'dir' && dirent.file_tags && dirent.file_tags.length > 0) && ( diff --git a/frontend/src/components/dirent-list-view/dirent-list-item.js b/frontend/src/components/dirent-list-view/dirent-list-item.js index 2ceba7ac99..16c67b2037 100644 --- a/frontend/src/components/dirent-list-view/dirent-list-item.js +++ b/frontend/src/components/dirent-list-view/dirent-list-item.js @@ -714,6 +714,8 @@ class DirentListItem extends React.Component { let lockedInfo = gettext('locked by {name}').replace('{name}', dirent.lock_owner_name); const isDesktop = Utils.isDesktop(); const { canDrag } = this.state; + const lockedImageUrl = `${mediaUrl}img/file-${dirent.is_freezed ? 'freezed' : 'locked'}-32.png`; + const lockedMessage = dirent.is_freezed ? gettext('freezed') : gettext('locked'); const desktopItem = ( : } - {dirent.is_locked && {gettext('locked')}} + {dirent.is_locked && {lockedMessage}}
    @@ -792,7 +794,7 @@ class DirentListItem extends React.Component { : } - {dirent.is_locked && {gettext('locked')}} + {dirent.is_locked && {lockedMessage}} diff --git a/frontend/src/models/dirent.js b/frontend/src/models/dirent.js index ad140ea96a..0168468d23 100644 --- a/frontend/src/models/dirent.js +++ b/frontend/src/models/dirent.js @@ -23,6 +23,7 @@ class Dirent { this.size_original = json.size; this.size = Utils.bytesToSize(json.size); this.is_locked = json.is_locked || false; + this.is_freezed = json.is_freezed || false; this.lock_time = json.lock_time || ''; this.lock_owner= json.lock_owner || null; this.lock_owner_name= json.lock_owner_name || null; diff --git a/frontend/src/view-file-sdoc.js b/frontend/src/view-file-sdoc.js index d39c61af6d..78693726c4 100644 --- a/frontend/src/view-file-sdoc.js +++ b/frontend/src/view-file-sdoc.js @@ -12,7 +12,7 @@ const { repoID, repoName, parentDir, filePerm, docPath, docName, docUuid, seadocAccessToken, seadocServerUrl, assetsUrl, isSdocRevision, isPublished, originFilename, revisionCreatedAt, originFileVersion, - originFilePath, originDocUuid, revisionId, + originFilePath, originDocUuid, revisionId, isFreezed } = window.app.pageOptions; window.seafile = { @@ -44,6 +44,7 @@ window.seafile = { lang, revisionId, mediaUrl, + isFreezed, }; ReactDom.render( diff --git a/media/img/file-freezed-32.png b/media/img/file-freezed-32.png new file mode 100644 index 0000000000000000000000000000000000000000..49fc5b65d5d954902bb7dc5abbeaccc6e95d9bcc GIT binary patch literal 1660 zcmV-?27~#DP)3$g6#njeZx*Ht6a)(~tfm11 z1r!5Vw5|Au66+QM2?&t@i71Mape$m7VnU511fu~eNfm;IC@Dz!BW+1U0Ydk z#V%#N5Tag6)Ck~US|Cs*_U{k(MKsa(3@vkuvSm7uA#KX_(63w^=_i0o`=Lx%#=g4J*nvhgO& zbLSALtOVNIyRed?YcM=T>E-3;-G>PV@XgVNUpp%og9gDnZ$6B|LI^UVCy>D)qSaLh z@7)X8)RaJ~j0oTfwF>KuHj0YiU-7yv z@b+zlzbZrY*fGE~-DL5##{*B%9C+u?R|ZR>3+>o}XvN_;4X-ruVaB1u8+oY==x}|l zJKFWUJow*z4?@!rJ#`Aft)BudEzHv^h{1#5U%L)^P7c_J;D!z4iQgPPQre0D9_6Rd z7|VI?RxSn%fd9?6Y~?3UBDndZJ}X!9Zrwur`gJhtE<@-#d~4P~WMw%9ur5_w2%~X@ z>nJh~f%nxV5NT#jdg2WUJ30~IMKg9 zjDiA1$?pe>>Xg7R;Cbm~1a|I%F>|KFY7~%~K)~74B9nD%G|N8HpfLUXJj$->9ObPnrbJQ%|b`7Wv_jBaL+%s;fCD3JMa&U|ziF!X{Z# z&U+Uuq|_@?USq20iC+*ZEro1|_aN)fO8^-lvL8+m#JUaDQmK!|KnxtHmYu6u>|Fg* zYIW7tFI~6G(X@Z#CL%RK62{+PRT{;7v4YqhkM^2=vL5mAmy3 zBh-m}@BraGUn6ql2w+*As5`b~unns0xM`#T8YT#n6T`~3HdRi!n4qpMhE~nTw{$6t z=`$3L3rwVHH8n7v%!8gc6Gmer zyo(n@%d+Fbs;@`r%hJ@+)9Z!t*yFbB-&s{0Shq&6axjjf+f^R}rxCxgf7RPcIX_Ei z_inVUcr7*MB-o(b=T6GCAae9aw<>N#2Q?lb3ELbyk@uPqtzwi7k;%rT&c{z{t&2?U)A> zdH1fv&bnA9BXs`xxaLyJ+Oau)nr`xW&mgZ~Q;eF!O$WQquR4jG2-Sr8J=Mj1cRTOq&cigQC^d2$z*n?4&T1#su~> zmfN#JA@qq8pp6)5PdQYwIZe5MnHMgo4C*du$<@7&<&F{jIrblYn8dn7Ot<>yVUb5? zo?ba(6An|@C|;7mvfSSSZV^P&GpNtB|KsDdvswSv=lMS${E4q$UH0Mt0000