2026-04-11 20:45:51 +02:00
{% extends 'Game/index.html.twig' %}
{% block title %} - Register {% endblock %}
2026-04-14 18:54:44 +02:00
{% block metas %}
2026-04-16 11:56:10 +02:00
{% - set _ogImage = 'https://' ~ app .request .host ~ asset ( '/images/mine-1600x627.png' ) -%}
2026-04-14 18:54:44 +02:00
<meta property="og:url" content=" {{ app .request .uri }} "/>
<meta property="og:type" content="website"/>
<meta property="og:site_name" content="MineSeeker"/>
<meta property="og:title" content="Create Account · MineSeeker"/>
<meta property="og:description"
content="Join MineSeeker for free. Track your wins, relive your best battles and prove you're the better minesweeper."/>
<meta property="og:image" content=" {{ _ogImage }} "/>
<meta property="og:image:width" content="1600"/>
<meta property="og:image:height" content="627"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Create Account · MineSeeker"/>
<meta name="twitter:description"
content="Join MineSeeker for free. Track your wins, relive your best battles and prove you're the better minesweeper."/>
<meta name="twitter:image" content=" {{ _ogImage }} "/>
{% endblock %}
2026-04-11 20:45:51 +02:00
{% block body %}
2026-04-12 08:49:47 +02:00
<div class="auth-page">
{% for email in app .flashes ( 'verify_email' ) %}
<div class="auth-card auth-card--sent">
2026-04-13 20:38:22 +02:00
<div class="auth-sent-icon"><i class="far fa-envelope"></i></div>
2026-04-12 08:49:47 +02:00
<h2 class="auth-title">Check your inbox</h2>
<p class="auth-sub">We sent an activation link to</p>
<p class="auth-sent-email"> {{ email }} </p>
<p class="auth-sent-note">
Click the link in the email to activate your account.<br>
The link expires in <strong>24 hours</strong>.
</p>
<a
href=" {{ path ( 'MineSeekerBundle_login' ) }} "
class="auth-submit"
style="text-decoration:none; margin-top:16px;"
>
Go to Sign In
</a>
</div>
{% else %}
<div class="auth-card">
2026-06-01 22:24:34 +02:00
<div class="auth-title-row">
<h2 class="auth-title">Create Account</h2>
2026-06-02 09:48:23 +02:00
<a class="auth-cap-badge" href="https://trycap.dev" target="_blank" rel="noopener noreferrer">
<i class="fas fa-shield-halved"></i> Protected by Cap
</a>
2026-06-01 22:24:34 +02:00
</div>
2026-04-12 08:49:47 +02:00
<p class="auth-sub">Join the battle — no subscription required</p>
2026-06-01 22:24:34 +02:00
<div data-cap-api-endpoint=" {{ cap_api_endpoint }} " style="display: none;" aria-hidden="true"></div>
2026-04-11 20:45:51 +02:00
2026-04-12 08:49:47 +02:00
{{ form_start ( form , { attr : { class : 'auth-form' }} ) }}
2026-04-11 20:45:51 +02:00
2026-04-12 08:49:47 +02:00
<div class="auth-field">
<label for=" {{ form .username .vars .id }} " class="auth-label">Username</label>
<div class="auth-input-wrap">
2026-04-13 20:38:22 +02:00
<i class="fas fa-user auth-input-icon"></i>
2026-04-12 08:49:47 +02:00
{{ form_widget ( form .username , {
attr : {
class : 'auth-input' ~ ( not form .username .vars .valid ? ' auth-input--error' : '' ) ,
autocomplete : 'username' ,
autofocus : true ,
minlength : '3' ,
}
} ) }}
</div>
{% if not form .username .vars .valid %}
{% for error in form .username .vars .errors %}
2026-04-13 20:38:22 +02:00
<p class="auth-field-error"><i class="fas fa-circle-exclamation"></i> {{ error .message }} </p>
2026-04-12 08:49:47 +02:00
{% endfor %}
{% endif %}
</div>
2026-04-11 20:45:51 +02:00
2026-04-12 08:49:47 +02:00
<div class="auth-field">
<label for=" {{ form .email .vars .id }} " class="auth-label">Email</label>
<div class="auth-input-wrap">
2026-04-13 20:38:22 +02:00
<i class="fas fa-envelope auth-input-icon"></i>
2026-04-12 08:49:47 +02:00
{{ form_widget ( form .email , {
attr : {
class : 'auth-input' ~ ( not form .email .vars .valid ? ' auth-input--error' : '' ) ,
autocomplete : 'email' ,
}
} ) }}
</div>
{% if not form .email .vars .valid %}
{% for error in form .email .vars .errors %}
2026-04-13 20:38:22 +02:00
<p class="auth-field-error"><i class="fas fa-circle-exclamation"></i> {{ error .message }} </p>
2026-04-12 08:49:47 +02:00
{% endfor %}
{% endif %}
</div>
2026-04-11 20:45:51 +02:00
2026-04-12 08:49:47 +02:00
<div class="auth-field">
<label for=" {{ form .plainPassword .first .vars .id }} " class="auth-label">Password</label>
<div class="auth-input-wrap">
2026-04-13 20:38:22 +02:00
<i class="fas fa-lock auth-input-icon"></i>
2026-04-12 08:49:47 +02:00
{{ form_widget ( form .plainPassword .first , {
attr : {
class : 'auth-input' ~ ( not form .plainPassword .vars .valid ? ' auth-input--error' : '' ) ,
autocomplete : 'new-password' ,
minlength : '6' ,
}
} ) }}
</div>
{% if not form .plainPassword .vars .valid %}
{% for error in form .plainPassword .vars .errors %}
2026-04-13 20:38:22 +02:00
<p class="auth-field-error"><i class="fas fa-circle-exclamation"></i> {{ error .message }} </p>
2026-04-12 08:49:47 +02:00
{% endfor %}
{% endif %}
</div>
2026-04-11 20:45:51 +02:00
2026-04-12 08:49:47 +02:00
<div class="auth-field">
<label for=" {{ form .plainPassword .second .vars .id }} " class="auth-label">Confirm Password</label>
<div class="auth-input-wrap">
2026-04-13 20:38:22 +02:00
<i class="fas fa-lock auth-input-icon"></i>
2026-04-12 08:49:47 +02:00
{{ form_widget ( form .plainPassword .second , {
attr : {
class : 'auth-input' ~ ( not form .plainPassword .vars .valid ? ' auth-input--error' : '' ) ,
autocomplete : 'new-password' ,
}
} ) }}
</div>
</div>
2026-04-11 20:45:51 +02:00
2026-04-16 11:56:10 +02:00
<div class="auth-field">
<label class="auth-checkbox-label" style="display: flex; align-items: flex-start; cursor: pointer; user-select: none;">
{{ form_widget ( form .consentGiven , {
attr : {
class : 'auth-checkbox' ,
style : 'margin-right: 10px; margin-top: 3px;'
}
} ) }}
<span style="flex: 1; font-size: 14px; line-height: 1.5; color: #666;">
I have read the <a href=" {{ path ( 'MineSeekerBundle_privacy' ) }} " target="_blank" style="color: #667eea; text-decoration: none;">Privacy and Data Processing Policy</a> and I consent to the processing of my data. *
</span>
</label>
{% if not form .consentGiven .vars .valid %}
{% for error in form .consentGiven .vars .errors %}
<p class="auth-field-error"><i class="fas fa-circle-exclamation"></i> {{ error .message }} </p>
{% endfor %}
{% endif %}
</div>
2026-04-12 08:49:47 +02:00
<button type="submit" class="auth-submit">
2026-04-13 20:38:22 +02:00
<i class="fas fa-user-plus"></i> Create Account
2026-04-12 08:49:47 +02:00
</button>
2026-04-11 20:45:51 +02:00
2026-04-12 08:49:47 +02:00
{{ form_end ( form ) }}
2026-04-11 20:45:51 +02:00
2026-04-12 08:49:47 +02:00
<p class="auth-switch">
Already have an account?
<a href=" {{ path ( 'MineSeekerBundle_login' ) }} ">Sign in</a>
</p>
</div>
{% endfor %}
</div>
{% endblock %}
2026-04-11 20:45:51 +02:00
2026-04-12 08:49:47 +02:00
{% block javascripts %}
{{ parent ( ) }}
2026-06-01 22:24:34 +02:00
{{ vite_entry_script_tags ( 'cap' ) }}
2026-04-12 08:49:47 +02:00
{% endblock %}