@@ -12,6 +12,7 @@ import { styled } from "solid-styled-components";
1212import Button from "@/components/ui/Button" ;
1313import { useCustomPortal } from "@/components/ui/custom-portal/CustomPortal" ;
1414import { CreateTicketModal } from "@/components/CreateTicketModal" ;
15+ import { formatTimestampRelative } from "@/common/date" ;
1516
1617const Container = styled ( "div" ) `
1718 display: flex;
@@ -27,6 +28,7 @@ export default function ServerSettingsBans() {
2728 const params = useParams < { serverId : string } > ( ) ;
2829 const { servers, serverMembers, header, users } = useStore ( ) ;
2930 const { createPortal } = useCustomPortal ( ) ;
31+ const server = ( ) => servers . get ( params . serverId ) ;
3032
3133 createEffect ( ( ) => {
3234 header . updateHeader ( {
@@ -39,7 +41,21 @@ export default function ServerSettingsBans() {
3941 } ) ;
4042 } ) ;
4143 const TARGET_MEMBERS = 30 ;
42- const server = ( ) => servers . get ( params . serverId ) ;
44+ const THIRTY_DAYS_MS = 30 * 24 * 60 * 60 * 1000 ;
45+
46+ const daysLeft = ( ) => {
47+ const createdAt = server ( ) ?. createdAt ;
48+ if ( ! createdAt ) return "Unknown" ;
49+
50+ const targetDate = createdAt + THIRTY_DAYS_MS ;
51+ const now = Date . now ( ) ;
52+ const remainingMillis = targetDate - now ;
53+
54+ return remainingMillis > 0
55+ ? formatTimestampRelative ( targetDate , "duration" )
56+ : "Expired" ;
57+ } ;
58+
4359 const isVerified = ( ) => server ( ) ?. verified ;
4460 const memberCount = ( ) =>
4561 serverMembers
@@ -75,12 +91,19 @@ export default function ServerSettingsBans() {
7591 description = { t ( "servers.settings.verify.alreadyVerified" ) }
7692 />
7793 </ Match >
78- < Match when = { membersNeeded ( ) > 0 } >
94+ < Match when = { membersNeeded ( ) > 0 || daysLeft ( ) !== "Expired" } >
7995 < Notice
8096 type = "warn"
81- description = { t ( "servers.settings.verify.insufficientMembers" , {
82- count : `${ membersNeeded ( ) } `
83- } ) }
97+ description = { [
98+ ! membersNeeded ( )
99+ ? undefined
100+ : t ( "servers.settings.verify.insufficientMembers" , {
101+ count : `${ membersNeeded ( ) } `
102+ } ) ,
103+ daysLeft ( ) === "Expired"
104+ ? undefined
105+ : `Wait ${ daysLeft ( ) } more to apply for server verification.`
106+ ] }
84107 // description={`You need ${membersNeeded()} more member(s) to apply for a verification.`}
85108 />
86109 </ Match >
0 commit comments