Version 5.0.0 beta 3

This commit is contained in:
Neo committed 2025-12-19 16:47:22 -08:00
1 parent f61b0da85d
commit e86153356a
108 files changed
+2927 -1573

No files matched your search

-5
View File
@@ -31,11 +31,6 @@
{$email->parseTextForEmail( $topic->content(), $email->language, ( \IPS\Settings::i()->email_truncate ? 150 : NULL ) )|raw}
</div>
<p style="font-family: 'Helvetica Neue', helvetica, sans-serif; margin: 0; font-size: 13px;">
{{if $topic->container()->forum_allow_rating}}
{{foreach range( 1, 5 ) as $i}}{{if $i <= $topic->averageRating()}}<img src='{resource="email/rating_on.png" location="interface" app="core"}' width='14' height='13' style='vertical-align: middle; margin-right: 2px'>{{elseif ( $i - 0.5 ) <= $topic->averageRating()}}<img src='{resource="email/rating_half.png" location="interface" app="core"}' width='14' height='13' style='vertical-align: middle; margin-right: 2px'>{{else}}<img src='{resource="email/rating_off.png" location="interface" app="core"}' width='14' height='13' style='vertical-align: middle; margin-right: 2px'>{{endif}}{{endforeach}}
&nbsp;&nbsp;&nbsp;&nbsp;
{{endif}}
<strong>
<img src='{resource="email/comment.png" location="interface" app="core"}' width='13' height='12' style='vertical-align: middle'>&nbsp;
{$email->language->addToStack("replies_number", FALSE, array( 'pluralize' => array( ( $topic->posts ) ? $topic->posts - 1 : 0 ) ) )}
+10 -10
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<javascript app="forums">
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.flow.js" javascript_type="controller" javascript_version="5000028" javascript_position="1000100"><![CDATA[/**
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.flow.js" javascript_type="controller" javascript_version="5000029" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -272,7 +272,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.forumList.js" javascript_type="controller" javascript_version="5000028" javascript_position="1000100"><![CDATA[/**
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.forumList.js" javascript_type="controller" javascript_version="5000029" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -340,7 +340,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.forumPage.js" javascript_type="controller" javascript_version="5000028" javascript_position="1000100"><![CDATA[/**
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.forumPage.js" javascript_type="controller" javascript_version="5000029" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -397,7 +397,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.hovercard.js" javascript_type="controller" javascript_version="5000028" javascript_position="1000100">/**
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/forum" javascript_name="ips.forum.hovercard.js" javascript_type="controller" javascript_version="5000029" javascript_position="1000100">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -447,7 +447,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="forums" javascript_location="admin" javascript_path="controllers/settings" javascript_name="ips.settings.archiveRules.js" javascript_type="controller" javascript_version="5000028" javascript_position="1000050"><![CDATA[/**
<file javascript_app="forums" javascript_location="admin" javascript_path="controllers/settings" javascript_name="ips.settings.archiveRules.js" javascript_type="controller" javascript_version="5000029" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -512,7 +512,7 @@
});
}(jQuery, _));
]]></file>
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.activity.js" javascript_type="controller" javascript_version="5000028" javascript_position="1000050">/**
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.activity.js" javascript_type="controller" javascript_version="5000029" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -544,7 +544,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.answers.js" javascript_type="controller" javascript_version="5000028" javascript_position="1000050"><![CDATA[/**
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.answers.js" javascript_type="controller" javascript_version="5000029" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -684,7 +684,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.reply.js" javascript_type="controller" javascript_version="5000028" javascript_position="1000050">/**
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.reply.js" javascript_type="controller" javascript_version="5000029" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -713,7 +713,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.solved.js" javascript_type="controller" javascript_version="5000028" javascript_position="1000050"><![CDATA[/**
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.solved.js" javascript_type="controller" javascript_version="5000029" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -751,7 +751,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.view.js" javascript_type="controller" javascript_version="5000028" javascript_position="1000050">/**
<file javascript_app="forums" javascript_location="front" javascript_path="controllers/topic" javascript_name="ips.topic.view.js" javascript_type="controller" javascript_version="5000029" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<language>
<app key="forums" version="5000028">
<app key="forums" version="5000029">
<word key="__app_forums" js="0">Forums</word>
<word key="frontnavigation_forums" js="0">Forums</word>
<word key="__indefart_post" js="0">a post in a topic</word>
+55 -36
View File
@@ -1486,10 +1486,10 @@
<template template_group="index" template_name="forumSummaryRow" template_data="$forum, $isSubForum=FALSE" template_location="front" template_app="forums"><![CDATA[{{if $forum->can('view')}}
{{$lastPosts = $forum->lastPost(5);}}
{{$club = $forum->club();}}
<section class="{$forum->ui( 'css' )} ipsCategoryWithFeed__item" data-forumID="{$forum->_id}" data-type='{{if $forum->redirect_on}}redirect{{elseif $forum->password}}password{{else}}forum{{endif}}' {{if \IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}data-ips-unread{{else}}data-ips-read{{endif}} {$forum->ui( 'dataAttributes' )} {{if $forum->feature_color}}style='--i-featured:{$forum->feature_color}'{{endif}}>
<section class="{$forum->ui( 'css' )} ipsCategoryWithFeed__item" data-forumID="{$forum->_id}" data-type='{{if $forum->redirect_on}}redirect{{elseif $forum->password}}password{{else}}forum{{endif}}' {$forum->ui( 'dataAttributes' )} {{if $forum->feature_color}}style='--i-featured:{$forum->feature_color}'{{endif}}>
<i-data class='ipsCategoryWithFeed__meta'>
<div class="ipsData ipsData--grid ipsData--forum-feed-view-forum">
<div class="ipsData__item">
<div class="ipsData ipsData--grid ipsData--forumFeedViewParent">
<div class="ipsData__item" {{if \IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}data-ips-unread{{else}}data-ips-read{{endif}}>
<a {{if $forum->password && !$forum->loggedInMemberHasPasswordAccess()}}href="{$forum->url()->setQueryString( 'passForm', '1' )}" data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title='{lang="forum_requires_password" sprintf="$forum->_title"}'{{else}}href="{$forum->url()}"{{endif}} class="ipsLinkPanel" aria-hidden="true" tabindex="-1"><span>{{if $forum->password && !$forum->loggedInMemberHasPasswordAccess()}}{$forum->_title}{{elseif $club}}{lang="club_node" sprintf="$club->name, $forum->_title"}{{else}}{$forum->_title}{{endif}}</span></a>
<a {{if $forum->password && !$forum->loggedInMemberHasPasswordAccess()}}href="{$forum->url()->setQueryString( 'passForm', '1' )}" data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title='{lang="forum_requires_password" sprintf="$forum->_title"}'{{else}}href="{$forum->url()}"{{endif}} class='ipsData__image'>
{{if $club and ! $forum->card_image}}
@@ -1586,7 +1586,7 @@
{{if !$forum->redirect_on}}
{{if $lastPosts and count( $lastPosts )}}
<i-data>
<ul data-ips-hook="latestPoster" class='ipsData ipsData--table ipsData--forum-feed-view'>
<ul data-ips-hook="latestPoster" class='ipsData ipsData--table ipsData--forumFeedView'>
{{foreach $lastPosts as $lastPost}}
<li class='ipsData__item'>
<a href="{{if member.member_id}}{$lastPost['topic_url']->setQueryString( 'do', 'getNewComment' )}{{else}}{$lastPost['topic_url']}{{endif}}" class="ipsLinkPanel" aria-hidden="true" tabindex="-1"><span>{$lastPost['topic_title']}</span></a>
@@ -1597,22 +1597,34 @@
<a href="{{if member.member_id}}{$lastPost['topic_url']->setQueryString( 'do', 'getNewComment' )}{{else}}{$lastPost['topic_url']}{{endif}}" title='{$lastPost['topic_title']}'>{$lastPost['topic_title']}</a>
</h4>
<small class="ipsData__meta">
{{if $lastPost['last_poster_anon']}}
{lang="byline_nodate" htmlsprintf="$lastPost['author']->link( NULL, NULL, TRUE )"},
{{else}}
{lang="byline_nodate" htmlsprintf="$lastPost['author']->link()"},
{{endif}}
{{if $lastPost['topic_title']}}
<a href='{{if member.member_id}}{$lastPost['topic_url']->setQueryString( 'do', 'getLastComment' )}{{else}}{$lastPost['topic_url']}{{endif}}' title='{lang="get_last_post"}'>{datetime="$lastPost['date']"}</a>
{{else}}
{datetime="$lastPost['date']"}
{{endif}}
{{if $lastPost['posts'] > 0}}
&middot;
{lang="num_comments" pluralize="$lastPost['posts']"}
{{endif}}
</small>
</div>
<div class="ipsData__extra">
<ul class="ipsData__stats">
<li data-statType='comments' data-v="{$lastPost['posts']}">
<span class='ipsData__stats-label'>{lang="num_comments" pluralize="$lastPost['posts']"}</span>
</li>
</ul>
<div class="ipsData__last">
<div class="ipsData__last-text">
<div class="ipsData__last-primary">
{{if $lastPost['last_poster_anon']}}
{lang="byline_nodate" htmlsprintf="$lastPost['author']->link( NULL, NULL, TRUE )"}
{{else}}
{lang="byline_nodate" htmlsprintf="$lastPost['author']->link()"}
{{endif}}
</div>
<div class="ipsData__last-secondary">
{{if $lastPost['topic_title']}}
<a href='{{if member.member_id}}{$lastPost['topic_url']->setQueryString( 'do', 'getLastComment' )}{{else}}{$lastPost['topic_url']}{{endif}}' title='{lang="get_last_post"}'>{datetime="$lastPost['date']"}</a>
{{else}}
{datetime="$lastPost['date']"}
{{endif}}
</div>
</div>
</div>
</div>
</div>
</li>
{{endforeach}}
@@ -3834,16 +3846,11 @@ data-first-page="{{if isset( request.page ) and request.page > 1}}false{{else}}t
border-top: 6px solid var(--i-featured, var(--i-background_6));
}
.ipsData--forum-feed-view-forum{
.ipsData--forumFeedViewParent{
grid-template-columns: 1fr;
}
/* Since we don't show read/unread status for this topic list, ensure that all titles are the same weight */
.ipsData--forum-feed-view .ipsData__title{
font-weight: 500 !important;
}
.ipsData--forum-feed-view-forum .ipsData__stats{
.ipsData--forumFeedViewParent .ipsData__stats{
font-weight: 550;
color: var(--i-color_root);
}
@@ -3860,12 +3867,12 @@ data-first-page="{{if isset( request.page ) and request.page > 1}}false{{else}}t
border-inline-end: 1px solid var(--i-background_4);
}
.ipsData--forum-feed-view-forum{
.ipsData--forumFeedViewParent{
height: 100%;
}
/* Prepare the list for the following 2 changes */
.ipsData--forum-feed-view{
.ipsData--forumFeedView{
--i-data--padding: 1.1em;
--i-data--cell-spacing: 1em;
--i-data--icon-width: 30px;
@@ -3880,26 +3887,26 @@ data-first-page="{{if isset( request.page ) and request.page > 1}}false{{else}}t
@container ipsCategoryWithFeed (max-width: 650px) {
/* Forum name and meta */
.ipsData.ipsData--forum-feed-view-forum{
.ipsData.ipsData--forumFeedViewParent{
--i-data--padding: 1.2em;
--i-data--icon-ratio: 1;
}
.ipsData--forum-feed-view-forum .ipsData__item{
.ipsData--forumFeedViewParent .ipsData__item{
flex-direction: row;
align-items: start;
}
.ipsData--forum-feed-view-forum .ipsData__image{
.ipsData--forumFeedViewParent .ipsData__image{
flex: 0 0 clamp(60px, 17vw, 120px);
margin: 0;
}
/* Scrollable topic list */
.ipsData--forum-feed-view {
.ipsData--forumFeedView {
--i-data--gap: 1.2em;
padding: 1em var(--i-data--gap);
display: flex;
gap: 1em;
gap: 1px;
overflow: auto;
scroll-snap-type: x mandatory;
scroll-padding: var(--i-data--gap);
@@ -3907,16 +3914,28 @@ data-first-page="{{if isset( request.page ) and request.page > 1}}false{{else}}t
scrollbar-color: color-mix(in srgb, var(--i-co) 20%, transparent) transparent;
}
.ipsData--forum-feed-view .ipsData__item{
.ipsData--forumFeedView .ipsData__item{
flex: 0 0 min(80vw, 400px);
border-radius: min(var(--i-design-radius), 8px);
border-width: 0;
background: var(--i-background_2);
scroll-snap-align: start;
outline: 1px solid var(--i-background_4);
}
.ipsData--forum-feed-view .ipsData__icon{
.ipsData--forumFeedView .ipsData__item:first-child{
border-start-start-radius: min(var(--i-design-radius), 6px);
border-end-start-radius: min(var(--i-design-radius), 6px);
}
.ipsData--forumFeedView .ipsData__item:last-child{
border-start-end-radius: min(var(--i-design-radius), 6px);
border-end-end-radius: min(var(--i-design-radius), 6px);
}
.ipsData--forumFeedView .ipsData__icon{
align-self: center;
}
.ipsData--forumFeedView .ipsData__title{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
+2 -1
View File
@@ -276,5 +276,6 @@
"5000025": "5.0.0 Alpha 16",
"5000026": "5.0.0 Beta 1",
"5000027": "5.0.0 Beta 2",
"5000028": "5.0.0 Beta 2"
"5000028": "5.0.0 Beta 2",
"5000029": "5.0.0 Beta 3"
}