<div class="ui container fluid{{if .LinkAccountMode}} icon{{end}}">
	<h4 class="ui top attached header center">
		{{if .LinkAccountMode}}
			{{ctx.Locale.Tr "auth.oauth_signup_title"}}
		{{else}}
			{{ctx.Locale.Tr "sign_up"}}
		{{end}}
	</h4>
	<div class="ui attached segment">
		<form class="ui form" action="{{.SignUpLink}}" method="post">
			{{.CsrfTokenHtml}}
			{{if or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeRegister)}}
			{{template "base/alert" .}}
			{{end}}
			{{if .DisableRegistration}}
				<p>{{ctx.Locale.Tr "auth.disable_register_prompt"}}</p>
			{{else}}
				<div class="required field {{if and (.Err_UserName) (or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeRegister))}}error{{end}}">
					<label for="user_name">{{ctx.Locale.Tr "username"}}</label>
					<input id="user_name" type="text" name="user_name" value="{{.user_name}}" autofocus required>
				</div>
				<div class="required field {{if .Err_Email}}error{{end}}">
					<label for="email">{{ctx.Locale.Tr "email"}}</label>
					<input id="email" name="email" type="email" value="{{.email}}" required>
				</div>

				{{if not .DisablePassword}}
					<div class="required field {{if and (.Err_Password) (or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeRegister))}}error{{end}}">
						<label for="password">{{ctx.Locale.Tr "password"}}</label>
						<input id="password" name="password" type="password" value="{{.password}}" autocomplete="new-password" required>
					</div>
					<div class="required field {{if and (.Err_Password) (or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeRegister))}}error{{end}}">
						<label for="retype">{{ctx.Locale.Tr "re_type"}}</label>
						<input id="retype" name="retype" type="password" value="{{.retype}}" autocomplete="new-password" required>
					</div>
				{{end}}

				{{template "user/auth/captcha" .}}

				<div class="ui message" style="text-align: start;" tabindex=0 aria-labelledby="consent">
					<p id="consent">By registering for a Codeberg account, you consent to our <a href="https://codeberg.org/codeberg/org/src/PrivacyPolicy.md">Privacy Policy</a> and agree to our <a href="https://codeberg.org/codeberg/org/src/TermsOfUse.md">Terms of Use</a>.</p>
				</div>

				<div class="ui message" style="text-align: start; color:var(--color-warning-text);" tabindex=0 aria-labelledby="warning">
					<p id="warning">Using Codeberg to spread SEO spam, malware, links to IPTV services ("tvbox") or pirated content <b>will</b> result in an immediate ban with <b>no prior warning</b>.</p>
				</div>


				<div class="inline field">
					<button class="ui primary button tw-w-full">
						{{if .LinkAccountMode}}
							{{ctx.Locale.Tr "auth.oauth_signup_submit"}}
						{{else}}
							{{ctx.Locale.Tr "auth.create_new_account"}}
						{{end}}
					</button>
				</div>
				<div class="ui message" style="text-align: start;" tabindex=0 aria-labelledby="captcha-intro captcha-aid codeberg-service captcha-morehelp">
					<!-- the IDs are explicit, because they are also referenced as the label of the captcha input -->
					<p id="captcha-intro">This page currently has a captcha required to complete the registration.</p>
					<p id="captcha-plan">We are <a href="https://codeberg.org/Codeberg/Community/issues/1797">planning to drop the captcha</a> by improving moderation and spam detection. (state: March 2025).</p>
					<p id="captcha-morehelp">If you have difficulties solving the captcha, please contact us at <a href="mailto:contact@codeberg.org">contact@codeberg.org</a> in the meantime and let us know your prefered account name.</p>
				</div>
			{{end}}

			{{template "user/auth/oauth_container" .}}
		</form>
	</div>
</div>

{{if not .LinkAccountMode}}
<div class="ui container fluid">
	<div class="ui attached segment header top tw-flex tw-flex-col tw-items-center">
		<div class="field">
			{{ctx.Locale.Tr "auth.hint_login" (printf "%s/user/login" AppSubUrl)}}
		</div>
	</div>
</div>
{{end}}
