0 Votes

Changes for page Public Web Site

Last modified by Alex Cotiugă on 2026/03/02 20:58

From version 3.57
edited by Alex Cotiugă
on 2025/11/24 12:31
Change comment: There is no comment for this version
To version 3.27
edited by Alex Cotiugă
on 2025/11/24 10:19
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -8,7 +8,7 @@
8 8   <h1 id="hero-title">Professional XWiki solutions, from setup to long-term stability</h1>
9 9   <p class="lead">Need your XWiki upgraded, secured, or improved? Let’s make it happen.</p>
10 10   <div class="hero-cta">
11 - <a class="btn btn-primary" href="#contact" aria-label="Request a consultation" data-toggle="modal" data-target="#requestConsultation">
11 + <a class="btn btn-primary" href="#contact" aria-label="Request a consultation" data-toggle="modal" data-target="#requestConsultationModal">
12 12   Request a consultation
13 13   </a>
14 14   #requestConsultationModal()
... ... @@ -154,57 +154,22 @@
154 154   <div class="modal-dialog">
155 155   <div class="modal-content">
156 156   <div class="modal-header">
157 - <button type="button" class="close" data-dismiss="modal">&times;</button>
157 + <button type="button" class="close" data-dismiss="modal">&amp;times;</button>
158 158   <h4 class="modal-title">Request a consultation</h4>
159 159   </div>
160 160   <div class="modal-body">
161 161   <div>
162 - Need help with your XWiki? <a href="mailto:alex@agnease.com">Contact Agnease</a>
163 - #displayFormFromSheetCode()
162 + $services.localization.render('blog.modal.checkCategorySelection.body')
164 164   </div>
165 165   </div>
166 166   <div class="modal-footer">
167 - ##<input id="continueCategorySelection" type="button" class="btn btn-default" data-dismiss="modal"
168 - ## value="$escapetool.xml($services.localization.render('yesno_1'))">
166 + <input id="continueCategorySelection" type="button" class="btn btn-default" data-dismiss="modal"
167 + value="$escapetool.xml($services.localization.render('yesno_1'))">
168 + <input type="button" class="btn btn-danger" data-dismiss="modal"
169 + value="$escapetool.xml($services.localization.render('blog.modal.checkCategorySelection.footer.no'))">
169 169   </div>
170 170   </div>
171 171   </div>
172 172   </div>
173 173  #end
174 -
175 -#macro (displayFormFromSheetCode)
176 - #set ($editing = $xcontext.action == 'edit')
177 - ## The object to display.
178 - #set ($xobject = $doc.getObject('Agnease.Code.Lead.LeadClass'))
179 - ## The class that describes the object properties.
180 - #set ($xclass = $xwiki.gwtXWikiClass('Agnease.Code.Lead.LeadClass'))
181 - ## Make sure the following display* method calls use the right object.
182 - #set ($discard = $doc.use($xobject))
183 - ## Using the xform vertical form layout.
184 - <div class="xform">
185 - <dl>
186 - #foreach ($property in $xclass.properties)
187 - <dt #if (!$editing && $hasEdit)
188 - class="editableProperty"
189 - #set ($xobjectPropertyReference = $xobject.getPropertyReference($property.name))
190 - data-property="$escapetool.xml($services.model.serialize($xobjectPropertyReference))"
191 - data-property-type="object"#end>
192 - ## This must match the id generated by the $doc.display() method below.
193 - #set ($propertyId = "${xclass.name}_${xobject.number}_$property.name")
194 - <label#if ($editing) for="$escapetool.xml($propertyId)"#end>
195 - $escapetool.xml($property.translatedPrettyName)
196 - </label>
197 - ## Support for specifying a translation key as hint in the property definition.
198 - <span class="xHint">$!escapetool.xml($services.localization.render($property.hint))</span>
199 - </dt>
200 - <dd>$doc.display($property.name)</dd>
201 - #end
202 - #if (!$xclass.properties || $xclass.properties.size() == 0)
203 - ## Keep the empty definition term in order to have valid HTML.
204 - <dt></dt>
205 - <dd>$escapetool.xml($services.localization.render('xclass.defaultObjectSheet.noProperties'))</dd>
206 - #end
207 - </dl>
208 - </div>
209 -#end
210 210  {{/velocity}}
XWiki.StyleSheetExtension[0]
Code
... ... @@ -13,6 +13,21 @@
13 13   padding: 0;
14 14  }
15 15  
16 +a {
17 + color: @brand;
18 + text-decoration: none;
19 + &:hover {
20 + color: @brand-strong;
21 + text-decoration: underline;
22 + }
23 +}
24 +
25 +img {
26 + max-width: 100%;
27 + height: auto;
28 + display: block;
29 +}
30 +
16 16  .container {
17 17   max-width: @maxw;
18 18  }
... ... @@ -34,6 +34,35 @@
34 34   }
35 35  }
36 36  
52 +/* Buttons */
53 +.btn {
54 + display: inline-flex;
55 + align-items: center;
56 + justify-content: center;
57 + padding: .85rem 1.1rem;
58 + border-radius: 12px;
59 + border: 2px solid transparent;
60 + font-weight: 650;
61 + letter-spacing: .2px;
62 + cursor: pointer;
63 + box-shadow: @shadow-sm;
64 +
65 + &:focus-visible {
66 + outline: 3px solid @brand;
67 + outline-offset: 2px;
68 + }
69 +
70 + &-primary {
71 + background: @brand;
72 + color: #fff;
73 + &:hover,
74 + &:focus {
75 + background: @brand-strong;
76 + color: #fff;
77 + }
78 + }
79 +}
80 +
37 37  /* ===== HERO ===== */
38 38  .hero {
39 39   overflow: hidden;