feat: Add online user guide with screenshots (#203) #204
@@ -108,7 +108,7 @@ First-time users see an onboarding flow with three steps:
|
|||||||
|
|
||||||
### Trouble Logging In
|
### Trouble Logging In
|
||||||
|
|
||||||
If you are having trouble logging in, click the **Trouble logging in?** link in the top-right corner of the navigation bar. This will guide you through password reset and account recovery options.
|
If you are having trouble logging in, try the following password reset and account recovery options.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,10 @@ http {
|
|||||||
|
|
||||||
root /usr/share/nginx/html;
|
root /usr/share/nginx/html;
|
||||||
index index.html;
|
index index.html;
|
||||||
|
|
||||||
|
# Prevent nginx from including internal port in redirects
|
||||||
|
# (Traefik handles external-facing port 443)
|
||||||
|
absolute_redirect off;
|
||||||
|
|
||||||
# Handle client-side routing
|
# Handle client-side routing
|
||||||
location / {
|
location / {
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ export const GettingStartedSection = () => {
|
|||||||
<div id="trouble-logging-in" className="scroll-mt-24">
|
<div id="trouble-logging-in" className="scroll-mt-24">
|
||||||
<h3 className="text-xl font-semibold text-avus mb-3 mt-8">Trouble Logging In</h3>
|
<h3 className="text-xl font-semibold text-avus mb-3 mt-8">Trouble Logging In</h3>
|
||||||
<p className="text-titanio/70 leading-relaxed mb-4">
|
<p className="text-titanio/70 leading-relaxed mb-4">
|
||||||
If you are having trouble logging in, click the <strong className="text-avus">Trouble logging in?</strong> link in the top-right corner of the navigation bar. This will guide you through password reset and account recovery options.
|
If you are having trouble logging in, try the following password reset and account recovery options.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p className="text-titanio/70 leading-relaxed mb-4">
|
<p className="text-titanio/70 leading-relaxed mb-4">
|
||||||
|
|||||||
@@ -6,10 +6,9 @@ import { FeaturesGrid } from './HomePage/FeaturesGrid';
|
|||||||
import { motion } from 'framer-motion';
|
import { motion } from 'framer-motion';
|
||||||
|
|
||||||
export const HomePage = () => {
|
export const HomePage = () => {
|
||||||
const { loginWithRedirect, isAuthenticated, logout } = useAuth0();
|
const { loginWithRedirect, isAuthenticated } = useAuth0();
|
||||||
const [mobileMenuOpen, setMobileMenuOpen] = useState(false);
|
const [mobileMenuOpen, setMobileMenuOpen] = useState(false);
|
||||||
const [isScrolled, setIsScrolled] = useState(false);
|
const [isScrolled, setIsScrolled] = useState(false);
|
||||||
const [sessionCleared, setSessionCleared] = useState(false);
|
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -42,22 +41,6 @@ export const HomePage = () => {
|
|||||||
navigate('/signup');
|
navigate('/signup');
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleClearSession = async () => {
|
|
||||||
try {
|
|
||||||
const { indexedDBStorage } = await import('../core/utils/indexeddb-storage');
|
|
||||||
await indexedDBStorage.clearAll();
|
|
||||||
Object.keys(localStorage).forEach(key => {
|
|
||||||
if (key.startsWith('@@auth0')) localStorage.removeItem(key);
|
|
||||||
});
|
|
||||||
logout({ openUrl: false });
|
|
||||||
setSessionCleared(true);
|
|
||||||
setTimeout(() => setSessionCleared(false), 3000);
|
|
||||||
} catch (error) {
|
|
||||||
console.error('[HomePage] Failed to clear session:', error);
|
|
||||||
window.location.reload();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="min-h-screen bg-nero text-avus">
|
<div className="min-h-screen bg-nero text-avus">
|
||||||
{/* Navigation Bar */}
|
{/* Navigation Bar */}
|
||||||
@@ -107,12 +90,6 @@ export const HomePage = () => {
|
|||||||
>
|
>
|
||||||
Login
|
Login
|
||||||
</button>
|
</button>
|
||||||
<button
|
|
||||||
onClick={handleClearSession}
|
|
||||||
className="text-white/40 hover:text-white/70 text-xs transition-colors min-h-[44px] min-w-[44px] flex items-center"
|
|
||||||
>
|
|
||||||
{sessionCleared ? 'Session cleared' : 'Trouble logging in?'}
|
|
||||||
</button>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Mobile Menu Button */}
|
{/* Mobile Menu Button */}
|
||||||
@@ -184,12 +161,6 @@ export const HomePage = () => {
|
|||||||
>
|
>
|
||||||
Login
|
Login
|
||||||
</button>
|
</button>
|
||||||
<button
|
|
||||||
onClick={handleClearSession}
|
|
||||||
className="w-full text-white/40 hover:text-white/70 text-xs py-2 min-h-[44px] transition-colors"
|
|
||||||
>
|
|
||||||
{sessionCleared ? 'Session cleared' : 'Trouble logging in?'}
|
|
||||||
</button>
|
|
||||||
</motion.div>
|
</motion.div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user