Error and Success Ready
This template shows how to build a simple responsive error view using Duet’s components. The same template can be used for success views as well by changing the illustration.
Hint: Press F
on your keyboard to view both templates and components in fullscreen and ESC
to exit the fullscreen mode. You can also open the template in a new browser window.
<!DOCTYPE html>
<html class="duet-bg-gradient duet-sticky-footer" lang="fi">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<title>LähiTapiola</title>
<link rel="stylesheet" href="https://cdn.duetds.com/api/fonts/3.0.51/lib/localtapiola.css" integrity="sha384-5JYmtSD7nykpUvSmTW1CHMoBDkBZUpUmG0vuh+NUVtZag3F75Kr7+/JU3J7JV6Wq" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdn.duetds.com/api/css/4.0.39/lib/duet.min.css" integrity="sha384-UoMJnpXiN8f7fKVnTzfKfyi7LzQlApQ+WTS9O3PXlYr6CO9yzou4glfsHV747f3v" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdn.duetds.com/api/tokens/4.0.53/lib/tokens.custom-properties.css" integrity="sha384-AexjbYNj18dJLZR54wNVU44b/akdDc+tpbLIWhAnzjMAbwFSli2DHpSP+7NCK+Xw" crossorigin="anonymous" />
<script type="module" src="https://cdn.duetds.com/api/components/8.6.5/lib/duet/duet.esm.js" integrity="sha384-zlmTmZHEuzIlFyNJfqgcVUedVNgYnJ81YbepzCQdiTWmCvXoYvP+p/cg0XunGeMY" crossorigin="anonymous"></script>
<script nomodule src="https://cdn.duetds.com/api/components/8.6.5/lib/duet/duet.js" integrity="sha384-SwuOaY1MvhUwduj7yUiSLQCaRrdNCVJKVFHTSMTxyLK+8nicqQ7+apGj7th2g/oQ" crossorigin="anonymous"></script>
</head>
<body>
<duet-header language="fi" skip-to-id="#content" contact="Ota yhteyttä" current-href="/vakuutukset/"></duet-header>
<duet-layout center id="content">
<div slot="main" class="duet-text-center">
<duet-card variation="plain" padding="x-small">
<img src="https://cdn.duetds.com/api/assets/illustrations/placeholder-dark.svg"
alt="Kuvitus" style="max-width:358px;width:70%;height:auto;"/>
<duet-spacer size="large"></duet-spacer>
<duet-heading level="h1">Jokin meni pieleen, pahoittelemme</duet-heading>
<duet-paragraph variation="intro">
Palvelussamme on juuri nyt häiriö, yritäthän myöhemmin uudelleen.
Voit olla myös yhteydessä asiakaspalveluumme.
</duet-paragraph>
<duet-spacer size="x-small"></duet-spacer>
<duet-button fixed variation="primary" url="#" icon="navigation-arrow-left">
Palaa takaisin
</duet-button>
</duet-card>
</div>
</duet-layout>
<duet-footer variation="simple"></duet-footer>
<script>
// Save references to components we want to adjust below
var header = document.querySelector("duet-header")
var footer = document.querySelector("duet-footer")
// Set the header main navigation items
header.items = [
{ label: 'Etusivu', href: '#' },
{ label: 'Vakuutukset', href: '/vakuutukset/' },
{ label: 'Vahinkoasiat', href: '#' },
{ label: 'Säästöt ja sijoitukset', href: '#' },
{ label: 'Laskut', href: '#', badge: true },
{ label: 'Viestit', href: '#' }
]
// Set the contact menu items
header.contactItems = [
{ label: "Lähetä viesti", href: "/viestit/laheta" },
{ label: "Avaa chat", href: "/chat/" },
{ label: "Yhteystiedot", href: "/yhteystiedot/" }
]
// Set the language menu items
header.languageItems = [
{ label: "Suomeksi", country: "fi", href: "/?lang=fi" },
{ label: "På Svenska", country: "sv", href: "/?lang=sv" },
{ label: "In English", country: "en", href: "/?lang=en" }
]
// Set label and href for session link
header.session = {
label: "Kirjaudu ulos",
href: "/?logout",
type: "logout"
}
// Set label and href for user profile link
header.user = {
label: "Laura",
href: "/?userId=1234"
}
// prevent header links causing a navigation
function preventDefault(e) {
e.detail.originalEvent.preventDefault()
}
header.addEventListener("duetSessionClick", preventDefault)
header.addEventListener("duetUserClick", preventDefault)
header.addEventListener("duetLanguageSelect", preventDefault)
header.addEventListener("duetLogoClick", preventDefault)
header.addEventListener("duetContactClick", preventDefault)
header.addEventListener("duetItemClick", preventDefault)
// Set the help menu items in footer
footer.menu = [
{ label: 'Turvallisuus ja käyttöehdot', href: '#' },
{ label: 'Evästeet', href: '#' },
{ label: 'Henkilötietojen käsittely', href: '#' },
]
</script>
</body>
</html>
Integration
To install this template’s dependencies into your project, run:
npm install @duetds/components
npm install @duetds/css
npm install @duetds/fonts
For further guidelines, please see each package’s documentation.
Tutorials
Follow these practical tutorials to learn how to build simple page layouts using Duet’s CSS Framework, Web Components and other features:
Tutorials
Building Layouts
TutorialsUsing CLI Tools
TutorialsCreating Custom Patterns
TutorialsServer Side Rendering
TutorialsSharing Prototypes
TutorialsUsage With Markdown
Troubleshooting
If you experience any issues while using a template, please head over to the Support page for more guidelines and help.