mirror of
https://github.com/nestriness/nestri.git
synced 2025-12-12 08:45:38 +02:00
## Description <!-- Briefly describe the purpose and scope of your changes --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for managing multiple Steam profiles per user, including a new profiles page with avatar selection and profile management. - Introduced a streamlined Steam authentication flow using a popup window, replacing the previous QR code and team-based login. - Added utilities for Steam image handling and metadata, including avatar preloading and static Steam metadata mappings. - Enhanced OpenID verification for Steam login. - Added new image-related events and expanded event handling for Steam account updates and image processing. - **Improvements** - Refactored the account structure from teams to profiles, updating related UI, context, and storage. - Updated API headers and authentication logic to use Steam IDs instead of team IDs. - Expanded game metadata with new fields for categories, franchises, and social links. - Improved library and category schemas for richer game and profile data. - Simplified and improved Steam API client methods for fetching user info, friends, and game libraries using Steam Web API. - Updated queue processing to handle individual game updates and publish image events. - Adjusted permissions and queue configurations for better message handling and dead-letter queue support. - Improved slug creation and rating estimation utilities. - **Bug Fixes** - Fixed avatar image loading to display higher quality images after initial load. - **Removals** - Removed all team, member, and credential management functionality and related database schemas. - Eliminated the QR code-based login and related UI components. - Deleted legacy team and member database tables and related code. - Removed encryption utilities and deprecated secret keys in favor of new secret management. - **Chores** - Updated dependencies and internal configuration for new features and schema changes. - Cleaned up unused code and updated database migrations for new data structures. - Adjusted import orders and removed unused imports across multiple modules. - Added new resource declarations and updated service link configurations. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
36 lines
884 B
TypeScript
36 lines
884 B
TypeScript
import { createSignal, type JSX, onMount } from "solid-js";
|
|
|
|
type SteamAvatarProps = {
|
|
avatarHash: string;
|
|
alt?: string;
|
|
class?: string;
|
|
style?: string | JSX.CSSProperties;
|
|
};
|
|
|
|
export default function SteamAvatar(props: SteamAvatarProps) {
|
|
const smallUrl = `https://avatars.cloudflare.steamstatic.com/${props.avatarHash}.jpg`;
|
|
const fullUrl = `https://avatars.cloudflare.steamstatic.com/${props.avatarHash}_full.jpg`;
|
|
|
|
const [src, setSrc] = createSignal(smallUrl);
|
|
|
|
onMount(() => {
|
|
const img = new Image();
|
|
img.src = fullUrl;
|
|
img.onload = () => setSrc(fullUrl);
|
|
});
|
|
|
|
return (
|
|
<img
|
|
src={src()}
|
|
alt={props.alt ?? "Steam Avatar"}
|
|
class={props.class}
|
|
style={{
|
|
"height": "100%",
|
|
"width": "100%",
|
|
"object-fit": "cover",
|
|
...typeof props.style === "string" ? {} : props.style,
|
|
}}
|
|
/>
|
|
);
|
|
}
|