Fixes For BetterActivities

This commit is contained in:
thororen1234 2025-03-27 11:44:36 -04:00
parent f54fdd14a2
commit 5e337d628e
No known key found for this signature in database
2 changed files with 109 additions and 109 deletions

View file

@ -349,117 +349,121 @@ export default definePlugin({
if (settings.store.allActivitiesStyle === "carousel") { if (settings.store.allActivitiesStyle === "carousel") {
return ( return (
<div style={{ display: "flex", flexDirection: "column" }}> <ErrorBoundary noop onError={() => { }}>
{activity && currentActivity?.id === activity.id ? ( <div style={{ display: "flex", flexDirection: "column" }}>
<ActivityView {activity && currentActivity?.id === activity.id ? (
activity={currentActivity}
user={user}
currentUser={currentUser}
{...props}
/>
) : (
<ActivityView
activity={currentActivity}
user={user}
// fetch optional application
application={getActivityApplication(currentActivity!)}
currentUser={currentUser}
{...generalProps}
/>
)}
{activities.length > 1 &&
<div
className={cl("controls")}
style={{
display: "flex",
flexDirection: "row",
justifyContent: "space-between",
}}
>
<Tooltip text="Left" tooltipClassName={cl("controls-tooltip")}>{({
onMouseEnter,
onMouseLeave
}) => {
return <span
onMouseEnter={onMouseEnter}
onMouseLeave={onMouseLeave}
onClick={() => {
const index = activities.indexOf(currentActivity!);
if (index - 1 >= 0) {
setCurrentActivity(activities[index - 1]);
} else {
setCurrentActivity(activities[activities.length - 1]);
}
}}
>
<Caret
disabled={activities.indexOf(currentActivity!) < 1}
direction="left" />
</span>;
}}</Tooltip>
<div className="carousel">
{activities.map((activity, index) => (
<div
key={"dot--" + index}
onClick={() => setCurrentActivity(activity)}
className={`dot ${currentActivity === activity ? "selected" : ""}`} />
))}
</div>
<Tooltip text="Right" tooltipClassName={cl("controls-tooltip")}>{({
onMouseEnter,
onMouseLeave
}) => {
return <span
onMouseEnter={onMouseEnter}
onMouseLeave={onMouseLeave}
onClick={() => {
const index = activities.indexOf(currentActivity!);
if (index + 1 < activities.length) {
setCurrentActivity(activities[index + 1]);
} else {
setCurrentActivity(activities[0]);
}
}}
>
<Caret
disabled={activities.indexOf(currentActivity!) >= activities.length - 1}
direction="right" />
</span>;
}}</Tooltip>
</div>
}
</div>
);
} else {
return (
<div
style={{
display: "flex",
flexDirection: "column",
gap: "5px",
}}
>
{activities.map((activity, index) =>
index === 0 ? (
<ActivityView <ActivityView
key={index} activity={currentActivity}
activity={activity}
user={user} user={user}
currentUser={currentUser} currentUser={currentUser}
{...props} {...props}
/>) : ( />
) : (
<ActivityView <ActivityView
key={index} activity={currentActivity}
activity={activity}
user={user} user={user}
application={getActivityApplication(activity)} // fetch optional application
application={getActivityApplication(currentActivity!)}
currentUser={currentUser} currentUser={currentUser}
{...generalProps} {...generalProps}
/> />
))} )}
</div> {activities.length > 1 &&
<div
className={cl("controls")}
style={{
display: "flex",
flexDirection: "row",
justifyContent: "space-between",
}}
>
<Tooltip text="Left" tooltipClassName={cl("controls-tooltip")}>{({
onMouseEnter,
onMouseLeave
}) => {
return <span
onMouseEnter={onMouseEnter}
onMouseLeave={onMouseLeave}
onClick={() => {
const index = activities.indexOf(currentActivity!);
if (index - 1 >= 0) {
setCurrentActivity(activities[index - 1]);
} else {
setCurrentActivity(activities[activities.length - 1]);
}
}}
>
<Caret
disabled={activities.indexOf(currentActivity!) < 1}
direction="left" />
</span>;
}}</Tooltip>
<div className="carousel">
{activities.map((activity, index) => (
<div
key={"dot--" + index}
onClick={() => setCurrentActivity(activity)}
className={`dot ${currentActivity === activity ? "selected" : ""}`} />
))}
</div>
<Tooltip text="Right" tooltipClassName={cl("controls-tooltip")}>{({
onMouseEnter,
onMouseLeave
}) => {
return <span
onMouseEnter={onMouseEnter}
onMouseLeave={onMouseLeave}
onClick={() => {
const index = activities.indexOf(currentActivity!);
if (index + 1 < activities.length) {
setCurrentActivity(activities[index + 1]);
} else {
setCurrentActivity(activities[0]);
}
}}
>
<Caret
disabled={activities.indexOf(currentActivity!) >= activities.length - 1}
direction="right" />
</span>;
}}</Tooltip>
</div>
}
</div>
</ErrorBoundary>
);
} else {
return (
<ErrorBoundary noop onError={() => { }}>
<div
style={{
display: "flex",
flexDirection: "column",
gap: "5px",
}}
>
{activities.map((activity, index) =>
index === 0 ? (
<ActivityView
key={index}
activity={activity}
user={user}
currentUser={currentUser}
{...props}
/>) : (
<ActivityView
key={index}
activity={activity}
user={user}
application={getActivityApplication(activity)}
currentUser={currentUser}
{...generalProps}
/>
))}
</div>
</ErrorBoundary>
); );
} }
}, },
@ -479,7 +483,7 @@ export default definePlugin({
find: '"UserProfilePopoutBody"', find: '"UserProfilePopoutBody"',
replacement: { replacement: {
match: /(?<=(\i)\.id\)\}\)\),(\i).*?)\(0,.{0,100}\i\.activity\}\)/, match: /(?<=(\i)\.id\)\}\)\),(\i).*?)\(0,.{0,100}\i\.activity\}\)/,
replace: ",$self.showAllActivitiesComponent({ activity: $2, user: $1 })" replace: "$self.showAllActivitiesComponent({ activity: $2, user: $1 })"
}, },
predicate: () => settings.store.userPopout predicate: () => settings.store.userPopout
}, },

View file

@ -16,15 +16,11 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
import { LazyComponent } from "@utils/react"; import { findComponentByCodeLazy } from "@webpack";
import { filters, find } from "@webpack";
import { openLogModal } from "./LogsModal"; import { openLogModal } from "./LogsModal";
const HeaderBarIcon = LazyComponent(() => { const HeaderBarIcon = findComponentByCodeLazy(".HEADER_BAR_BADGE_TOP:", '.iconBadge,"top"');
const filter = filters.byCode(".HEADER_BAR_BADGE");
return find(m => m.Icon && filter(m.Icon)).Icon;
});
export function OpenLogsIcon() { export function OpenLogsIcon() {
return ( return (