44-->
55
66<template >
7- <div class =" container" >
8- <div id =" img" />
9- <div class =" content" >
10- <h1 >404</h1 >
11- <h2 >
12- {{ t('libresign', 'Page not found') }}
13- </h2 >
14- <p >{{ paragrath }}</p >
15- <NcNoteCard v-for =" (error, index) in errors"
16- :key =" index"
17- type =" error"
18- heading =" Error" >
19- {{ error.message }}
20- </NcNoteCard >
7+ <div class =" error-page" >
8+ <!-- Logo Header -->
9+ <div class =" logo-header" >
10+ <img :src =" logoLibreSign"
11+ :alt =" t('libresign', 'LibreSign')"
12+ class =" logo-icon" >
13+ </div >
14+
15+ <!-- Error Container Card -->
16+ <div class =" error-container" >
17+ <NcEmptyContent :name =" t('libresign', 'Page not found')"
18+ :description =" paragrath" >
19+ <template #icon >
20+ <AlertCircleOutline :size =" 80" class =" alert-icon" />
21+ </template >
22+ <template #action >
23+ <div v-if =" errors.length" class =" error-messages" >
24+ <NcNoteCard v-for =" (error, index) in errors"
25+ :key =" index"
26+ type =" error" >
27+ {{ error.message }}
28+ </NcNoteCard >
29+ </div >
30+ </template >
31+ </NcEmptyContent >
2132 </div >
2233 </div >
2334</template >
2637import { loadState } from ' @nextcloud/initial-state'
2738import { translate as t } from ' @nextcloud/l10n'
2839
40+ import NcEmptyContent from ' @nextcloud/vue/components/NcEmptyContent'
2941import NcNoteCard from ' @nextcloud/vue/components/NcNoteCard'
42+ import AlertCircleOutline from ' vue-material-design-icons/AlertCircleOutline.vue'
43+
44+ import logoLibreSign from ' ../../img/logo-gray.svg'
3045
3146export default {
3247 name: ' DefaultPageError' ,
3348 components: {
49+ NcEmptyContent,
3450 NcNoteCard,
51+ AlertCircleOutline,
3552 },
3653
3754 data () {
3855 return {
56+ logoLibreSign,
3957 paragrath: t (' libresign' , ' Sorry but the page you are looking for does not exist, has been removed, moved or is temporarily unavailable.' ),
4058 }
4159 },
@@ -47,7 +65,7 @@ export default {
4765 }
4866 const errorMessage = loadState (' libresign' , ' error' , {})? .message
4967 if (errorMessage) {
50- return [errorMessage]
68+ return [{ message : errorMessage } ]
5169 }
5270 return []
5371 },
@@ -57,49 +75,53 @@ export default {
5775< / script>
5876
5977< style lang= " scss" scoped>
60- .container {
78+ .error - page {
6179 display: flex;
62- flex- direction: row ;
80+ flex- direction: column ;
6381 align- items: center;
6482 justify- content: center;
65- height: 100 % ;
66-
67- #img{
68- background- image: url (' ../../img/sad-face-in-rounded-square.svg' );
69- height: 140px ;
70- width: 140px ;
71- background- repeat: no- repeat;
72- background- size: cover;
73- line- height: 17 .6px ;
74- }
83+ min- height: 100vh ;
84+ padding: 40px 20px ;
85+ gap: 24px ;
86+ background: var (-- color- background- dark);
7587
76- }
88+ .logo - header {
89+ .logo - icon {
90+ height: 80px ;
7791
78- .content {
79- box- sizing: border- box;
80- font- family: ' Nunito' , sans- serif;
81- max- width: 560px ;
82- padding- inline- start: 50px ;
83-
84- h1{
85- font- size: 65px ;
86- font- weight: 700 ;
87- line- height: 71 .5px ;
88- margin- bottom: 10px ;
89- margin- top: 0px ;
92+ @media (max - width : 768px ) {
93+ height: 60px ;
94+ }
95+ }
9096 }
9197
92- h2{
93- font- size: 21px ;
94- font- weight: 400 ;
95- line- height: 23 .1px ;
96- margin: 0px ;
97- margin- bottom: 10px ;
98+ .error - container {
99+ max- width: 800px ;
100+ width: 100 % ;
101+ padding: 48px 32px ;
102+ background: var (-- color- main- background);
103+ border- radius: var (-- border- radius- large);
104+ box- shadow: 0 2px 16px rgba (0 , 0 , 0 , 0.1 );
105+
106+ .error - messages {
107+ display: flex;
108+ flex- direction: column;
109+ gap: 12px ;
110+ width: 100 % ;
111+ min- width: 500px ;
112+
113+ @media (max - width : 768px ) {
114+ min- width: auto;
115+ }
116+ }
117+
118+ @media (max - width : 768px ) {
119+ padding: 32px 24px ;
120+ }
98121 }
99- p{
100- color: var (-- color- main- text);
101- font- weight: 400 ;
102- line- height: 17 .6px ;
122+
123+ .alert - icon {
124+ color: #e53c3c;
103125 }
104126}
105127< / style>
0 commit comments