From 306e0fcbd2bfac811a926652bfb1efec6f2d5e88 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Fri, 2 Aug 2024 13:30:52 +0800 Subject: [PATCH] * [perf] Add switch css for ajaxgetdropmenuforold page. --- module/message/ui/ajaxgetdropmenu.html.php | 26 ++++----------- .../view/ajaxgetdropmenuforold.html.php | 32 +++++++++++++++++++ 2 files changed, 39 insertions(+), 19 deletions(-) diff --git a/module/message/ui/ajaxgetdropmenu.html.php b/module/message/ui/ajaxgetdropmenu.html.php index d5a64502e6..53a50f0f64 100644 --- a/module/message/ui/ajaxgetdropmenu.html.php +++ b/module/message/ui/ajaxgetdropmenu.html.php @@ -28,24 +28,12 @@ $buildMessageList = function($messageGroup) use ($lang) $itemList = array(); foreach($messages as $message) { - $isUnread = $message->status != 'read'; - $dotColor = $isUnread ? 'danger' : 'gray'; - $secondDiff = time() - strtotime($message->createdDate); - if($secondDiff < 60) $time = sprintf($lang->message->timeLabel['minute'], 1); - if($secondDiff >= 60) $time = sprintf($lang->message->timeLabel['minute'], ceil($secondDiff / 60)); - if($secondDiff >= 3600) $time = $lang->message->timeLabel['hour']; - if($secondDiff >= 5400) $time = substr($message->createdDate, 11, 5); - if($secondDiff > 86400) $time = substr($message->createdDate, 5, 11); - - preg_match_all("/data, $out); - $link = count($out[1]) ? $out[1][0] : ''; - $content = str_replace("data); - $content = preg_replace("/data-app='([^\']+)'/", '', $content); - $content = preg_replace("/(\?|\&)onlybody=yes/", '', $content); + $isUnread = $message->status != 'read'; + $dotColor = $isUnread ? 'danger' : 'gray'; $itemList[] = h::li ( - setClass('message-item border rounded-lg p-2 mt-2' . ($isUnread ? ' unread' : '')), + setClass('message-item break-all border rounded-lg p-2 mt-2' . ($isUnread ? ' unread' : '')), setData('msgid', $message->id), set(array('zui-create' => "contextMenu")), setData('target', $isUnread ? '#unreadContextMenu' : '#readContextMenu'), @@ -53,9 +41,9 @@ $buildMessageList = function($messageGroup) use ($lang) ( setClass('text-gray justify-between'), cell(label(setClass("label-dot {$dotColor} mr-2")), $lang->message->browser), - cell($time, icon(setClass('ml-2 cursor-pointer delete-message-btn'), 'close')) + cell($message->showTime, icon(setClass('ml-2 cursor-pointer delete-message-btn'), 'close')) ), - div(setClass('pt-1'), html($content)) + div(setClass('pt-1'), html($message->data)) ); } $dateList[] = h::li(setClass('message-date mt-2'), $date, h::ul(setClass('list-unstyled'), $itemList)); @@ -77,8 +65,8 @@ tabs ( setClass('absolute top-3 right-5'), set::style(array('z-index' => '100')), - btn(set::size('sm'), set::type('link'), setClass('allMarkRead'), set::hint($lang->message->notice->allMarkRead), icon('clear')), - btn(set::size('sm'), set::type('link'), setClass('clearRead'), set::hint($lang->message->notice->clearRead), icon('trash')), + btn(set::size('sm'), setClass('ghost allMarkRead'), set::hint($lang->message->notice->allMarkRead), icon('clear')), + btn(set::size('sm'), setClass('ghost clearRead'), set::hint($lang->message->notice->clearRead), icon('trash')), dropdown ( setID('messageSettingDropdown'), diff --git a/module/message/view/ajaxgetdropmenuforold.html.php b/module/message/view/ajaxgetdropmenuforold.html.php index 47b39f4f76..a360fc5a9e 100644 --- a/module/message/view/ajaxgetdropmenuforold.html.php +++ b/module/message/view/ajaxgetdropmenuforold.html.php @@ -77,3 +77,35 @@ $buildMessageList = function($messageGroup) use ($lang, $noDataHtml) #messageTabs .form-horz .form-group.no-label { padding-left: 0; } #messageTabs .form-label { align-items: center; color: #3d4667; flex-direction: row; gap: 4px; height: 32px; overflow: hidden; position: relative; text-overflow: ellipsis; white-space: nowrap; } #messageTabs .form-horz .form-label { justify-content: flex-end; left: 0; padding-left: 16px; padding-right: 8px; position: absolute; top: 0; width: 96px; } + +.switch { position: relative; } +.switch>input { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; margin: 0; opacity: 0; } +.switch>label { display: block; padding: 5px 0 5px 35px; margin: 0; font-weight: 400; line-height: 20px; } +.switch>label:after, .switch>label:before { + position: absolute; + top: 5px; + left: 0; + display: block; + width: 30px; + height: 20px; + pointer-events: none; + content: ' '; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 10px; + -webkit-transition: all .4s cubic-bezier(.175,.885,.32,1); + -o-transition: all .4s cubic-bezier(.175, .885, .32, 1); + transition: all .4s cubic-bezier(.175,.885,.32,1); +} +.switch>label:after { + top: 6px; + width: 18px; + height: 18px; + border-color: #ccc; + border-radius: 9px; + -webkit-box-shadow: rgba(0, 0, 0, .05) 0 1px 4px, rgba(0, 0, 0, .12) 0 1px 2px; + box-shadow: rgba(0, 0, 0, .05) 0 1px 4px, rgba(0, 0, 0, .12) 0 1px 2px; +} +.switch>input:checked+label:before { background-color: #3280fc; border-color: #3280fc; } +.switch>input:checked+label:after { left: 11px; border-color: #fff; } +#header .messageDropdownBox{z-index:100 !important;}