Our robust community site integrating Steam for enhanced user interactions and data management, powered by Remix with Tailwind CSS for optimistic, responsive UI. Features CI/CD with GitHub Actions and Docker for seamless deployment and maintenance.
We are encountering several issues and enhancement opportunities in our current implementation of Steam account linking and the checkout flow. The following improvements are required to enhance the user experience, ensure data integrity, and update various UI/UX elements:
Objectives:
Ensure unique Steam account linking.
Bypass the checkout process for existing premium members.
Improve handling of post-purchase redirects.
Update generic temporary names in the UI.
Adjust the yearly premium pass price to $120 while maintaining the "Coming Soon" label.
Update premium perks to include tag, vote extend, and a HUD gif.
Tasks
Unique Steam Linking
Modify the Steam linking process to check if the Steam ID is already linked to another account before linking it to the current user.
Suggested code change in authorize.steam.callback.tsx:
// Verify if Steam ID is already linked to another account
const existingUser = await fetchUserBySteamId(steamId);
if (existingUser) {
return sendErrorToParent('Steam ID is already linked to another account', 400, type || '');
}
Premium User Checkout Bypass
Implement a check during the login or session initialization to determine if the user is a premium member.
Bypass the checkout flow if the user is identified as a premium member.
Suggested code snippet:
if (user.isPremium) {
console.log('User is a premium member, bypassing checkout.');
return; // Exit the checkout flow early
}
Redirect Handling Post-Purchase
Enhance redirect handling to differentiate between successful purchases and other redirects.
Suggested code snippet:
if (redirectType === 'purchase_success') {
console.log('Redirected after successful purchase.');
// Handle post-purchase logic here
}
Update Generic Temporary Names
Replace generic temporary names with meaningful names in the UI.
Ensure the new names are reflected throughout the UI.
Adjust Yearly Premium Pass Price
Update the price for the yearly premium pass to $120.
Maintain the "Coming Soon" label for the yearly pass.
Suggested code snippet for price adjustment:
const yearlyPassPrice = 120; // Set yearly pass price to $120
Update Premium Perks
Add tag, vote extend, and a HUD gif to the list of premium perks.
Ensure these perks are highlighted in the UI.
Additional Notes
Ensure all changes are thoroughly tested, especially the new checks for Steam linking and premium status.
Update documentation to reflect the new flow and configurations.
Expected Outcome:
Improved data integrity by ensuring unique Steam account linking.
Enhanced user experience by preventing premium users from unnecessary checkout steps.
Clear communication and handling of post-purchase actions.
Updated UI elements to reflect meaningful names and updated premium perks.
By implementing this issue, we can ensure secure communication between the webhook service and the Imperfect Gamers API, preventing unauthorized access and tampering with sensitive data. This issue aims to streamline the user experience by ensuring proper account management and enhancing the checkout process.
We are encountering several issues and enhancement opportunities in our current implementation of Steam account linking and the checkout flow. The following improvements are required to enhance the user experience, ensure data integrity, and update various UI/UX elements:
Objectives:
Tasks
Unique Steam Linking
authorize.steam.callback.tsx
:Premium User Checkout Bypass
Redirect Handling Post-Purchase
Update Generic Temporary Names
Adjust Yearly Premium Pass Price
Update Premium Perks
Additional Notes
Expected Outcome:
By implementing this issue, we can ensure secure communication between the webhook service and the Imperfect Gamers API, preventing unauthorized access and tampering with sensitive data. This issue aims to streamline the user experience by ensuring proper account management and enhancing the checkout process.