Public Access
freelancer-confirmed: the page a freelancer lands on after confirming the email
This commit is contained in:
1 parent
bde9dbc48d
commit
61fd457af0
1 file changed
+179
@@ -0,0 +1,179 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<title>Your email is confirmed — ODOO4projects</title>
|
||||||
|
<meta name="description" content="Private page: your email is confirmed and your card is in the Odoo Freelancer Directory." />
|
||||||
|
|
||||||
|
<!-- Private utility page. It is reached ONLY by the confirmation link we email, never by
|
||||||
|
search. noindex+nofollow here, absent from sitemap.xml and llms.txt, and linked from
|
||||||
|
nowhere on the site. See [[draft-page-convention]] for the same five rule. -->
|
||||||
|
<meta name="robots" content="noindex, nofollow" />
|
||||||
|
<!-- The confirmation is completed by the workflow, so this address may carry anything the
|
||||||
|
redirect appends. Nothing from the query string is ever rendered or read: the page is
|
||||||
|
identical with a bare URL and with something appended, and the query is dropped from the
|
||||||
|
address (below) before the tracker loads. -->
|
||||||
|
<meta name="referrer" content="no-referrer" />
|
||||||
|
<link rel="canonical" href="https://odoo4projects.com/freelancer-confirmed/" />
|
||||||
|
<meta property="og:url" content="https://odoo4projects.com/freelancer-confirmed/" />
|
||||||
|
<meta property="og:title" content="Your email is confirmed — ODOO4projects" />
|
||||||
|
<meta property="og:description" content="Your card is in the Odoo Freelancer Directory." />
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<link rel="icon" href="/images/favicon.ico" />
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||||
|
<link
|
||||||
|
rel="stylesheet"
|
||||||
|
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap"
|
||||||
|
media="print"
|
||||||
|
onload="this.media='all'"
|
||||||
|
/>
|
||||||
|
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||||
|
<link rel="stylesheet" href="/style.css?v=061517baef" />
|
||||||
|
|
||||||
|
<style>
|
||||||
|
/* Utility page, same shell as /freelancer-edit/ and /feedback/: brand line, one card, the
|
||||||
|
site tokens (:root in style.css) and the CI palette only. No hero, no footer, no site
|
||||||
|
chrome beyond the brand line. */
|
||||||
|
* { box-sizing: border-box; }
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
background: var(--cream);
|
||||||
|
color: var(--ink);
|
||||||
|
font-family: Inter, "Segoe UI", sans-serif;
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
.wrap { width: 86%; max-width: 1200px; margin: 0 auto; }
|
||||||
|
.topbar { background: var(--midnight); border-bottom: 1px solid var(--line-brass); padding: 0.85rem 0; }
|
||||||
|
.brand {
|
||||||
|
font-family: Marcellus, Georgia, serif;
|
||||||
|
font-size: 1.15rem;
|
||||||
|
letter-spacing: 0.04em;
|
||||||
|
color: #fff;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.brand span { color: var(--brass); }
|
||||||
|
main { padding: 2.5rem 0 4rem; }
|
||||||
|
.card-wrap { max-width: 760px; margin: 0 auto; }
|
||||||
|
h1 {
|
||||||
|
font-family: Marcellus, Georgia, serif;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: clamp(1.5rem, 4vw, 2.2rem);
|
||||||
|
letter-spacing: 0.02em;
|
||||||
|
margin: 0 0 0.4rem;
|
||||||
|
}
|
||||||
|
.lede { color: var(--ink-soft); margin: 0 0 1rem; }
|
||||||
|
.panel {
|
||||||
|
background: var(--ivory);
|
||||||
|
border: 1px solid var(--line);
|
||||||
|
border-radius: var(--radius-lg);
|
||||||
|
padding: 1.5rem;
|
||||||
|
box-shadow: var(--shadow-rest);
|
||||||
|
}
|
||||||
|
.panel + .panel { margin-top: 1.25rem; }
|
||||||
|
h2 {
|
||||||
|
font-family: Marcellus, Georgia, serif;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 1.15rem;
|
||||||
|
letter-spacing: 0.02em;
|
||||||
|
margin: 0 0 0.6rem;
|
||||||
|
}
|
||||||
|
.detail { margin: 0.5rem 0 0; font-size: 0.9rem; color: var(--ink-soft); }
|
||||||
|
.detail:first-of-type { margin-top: 0; }
|
||||||
|
|
||||||
|
/* The page's ONE primary action is the feedback link; the directory link is a plain link. */
|
||||||
|
.btn {
|
||||||
|
display: inline-block;
|
||||||
|
font-family: Marcellus, Georgia, serif;
|
||||||
|
font-size: 1rem;
|
||||||
|
letter-spacing: 0.04em;
|
||||||
|
border: 0;
|
||||||
|
border-radius: var(--radius-pill);
|
||||||
|
background: var(--brass);
|
||||||
|
color: var(--midnight);
|
||||||
|
padding: 0.85rem 2rem;
|
||||||
|
margin-top: 1rem;
|
||||||
|
text-align: center;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.btn:hover { background: var(--brass-bright); }
|
||||||
|
/* The anchor needs the text colour kept on hover: the site's global a:hover ({color:
|
||||||
|
var(--brass)}) outranks a lone .btn, and brass on brass-bright is unreadable. */
|
||||||
|
a.btn, a.btn:hover { color: var(--midnight); }
|
||||||
|
.btn:focus-visible { outline: 2px solid var(--midnight); outline-offset: 2px; }
|
||||||
|
.link-plain { color: var(--brass-deep); font-weight: 600; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- The confirmation redirect may append anything (a name, an id, a tracking token). NOTHING
|
||||||
|
from the query string is read or rendered: this page has one state, whatever it is handed.
|
||||||
|
The query is dropped from the address + the history entry BEFORE the tracker is loaded —
|
||||||
|
Plausible reports location.href, so stripping it first is what keeps anything appended out
|
||||||
|
of the analytics payload (the same care as /freelancer-edit/). With JavaScript off the
|
||||||
|
query stays in the address bar and still nothing renders it. -->
|
||||||
|
<script>
|
||||||
|
(function () {
|
||||||
|
if (location.search) history.replaceState(null, "", location.pathname);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- Privacy-friendly analytics by Plausible (verbatim; the page now carries no query). -->
|
||||||
|
<script async src="https://plausible.office.odoo4projects.com/js/pa-NhA7Rf-79VopXFQXhSS4e.js"></script>
|
||||||
|
<script>
|
||||||
|
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||||
|
plausible.init()
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class="topbar">
|
||||||
|
<div class="wrap">
|
||||||
|
<a class="brand" href="https://odoo4projects.com/">ODOO<span>4</span>projects</a>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main>
|
||||||
|
<div class="wrap">
|
||||||
|
<div class="card-wrap">
|
||||||
|
<h1>Your email is confirmed</h1>
|
||||||
|
<p class="lede">
|
||||||
|
Thank you — your email address is confirmed, and your card is now in the Odoo Freelancer
|
||||||
|
Directory.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<!-- 1. The page's primary action: the feedback. On its own panel, first, brass and larger. -->
|
||||||
|
<div class="panel">
|
||||||
|
<h2>How did the signup go?</h2>
|
||||||
|
<p class="detail">
|
||||||
|
The signup is the part we most want to get right, and you have just been through it.
|
||||||
|
Tell us how it went — every answer helps us improve it.
|
||||||
|
</p>
|
||||||
|
<a class="btn" href="https://odoo4projects.com/feedback/">Give feedback on the signup</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 2. See yourself in the directory. -->
|
||||||
|
<div class="panel">
|
||||||
|
<h2>See your card in the directory</h2>
|
||||||
|
<p class="detail">
|
||||||
|
Everything on a card is the freelancer's own words.
|
||||||
|
</p>
|
||||||
|
<p class="detail">
|
||||||
|
<a
|
||||||
|
class="link-plain"
|
||||||
|
href="https://odoo4projects.com/odoo-community-developers/"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>Open the Odoo Freelancer Directory (opens in a new window)</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 3. Nobody is stuck with what they typed. One line, and the credential stays where it
|
||||||
|
belongs: the edit link is the one we email, so it is not linked from here. -->
|
||||||
|
<p class="detail">
|
||||||
|
You can change or remove your profile at any time — the link for that is in the email we
|
||||||
|
send you.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in new issue
Block a user