Mongoose Canaan Comp (T4)

10017
EUR 319,73 InStock

“If you’re looking for one bike that’ll tackle any sort of riding with enthusiasm, help you out when speed overruns skill and make sure you finish every ride grinning, we’d go for ‘Goose’s golden egg!” - Mountain Biking Magazine, get it now.

345 In stock • 2-3 days delivery

Shipping

Delivery within 7 work days

Warranty

3 years warranty

  • Aluminum frame with FreeDrive design and slightly relaxed 69.5° head angle tackles loose-over-hard terrain with ease and responds quickly when its time to pick up speed
  • Rock Shox Tora 318 Air fork with 100mm of travel delivers smooth, predictable and reliable bump absorption over uneven terrain
  • Fox Float R gives you a wide range of compression control for incredibly accurate suspension tuning
  • Shimano XT drivetrain provides flawless shifting and performance on all types of terrain
  • Hayes Stroker Trail hydraulic disc brakes guarantee rapid and controlled stopping power in any condition
  • WTB Speed Disc XC rims with Shimano M525 hubs and Kenda Small Block Eight DCT tires offer the lightweight stability and traction you need on technical trails

Be comfortable with our equipments

Error executing template "Designs/Swift/Paragraph/Swift_Accordion.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_e91a7288d5bf4e9fa1929e540f3cef46.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) in /_/src/Application/Providers/Dynamicweb.Rendering.Providers.NetCore/Razor/RazorTemplateRenderingProvider.cs:line 99
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\TemplateRenderingService.cs:line 21
   at Dynamicweb.Rendering.Template.RenderRazorTemplate() in E:\A10\_w\2\s\src\Core\Dynamicweb.Core\Rendering\Template.cs:line 749

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 3 4 @{ 5 string title = Model.Item.GetString("Title"); 6 var accordionItems = Model.Item?.GetItems("Accordion_Items") ?? Enumerable.Empty<Dynamicweb.Frontend.ItemViewModel>().ToList(); 7 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 8 string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); 9 contentPadding = contentPadding == "none" ? "p-0" : contentPadding; 10 contentPadding = contentPadding == "small" ? "p-3 p-md-3" : contentPadding; 11 contentPadding = contentPadding == "large" ? "p-5 p-md-5" : contentPadding; 12 } 13 14 <div class="accordion@(theme) @(contentPadding) h-100 item_@Model.Item.SystemName.ToLower()" id="accordion-@Pageview.CurrentParagraph.ID"> 15 <div id="@Model.ID" class="user-select-none" style="scroll-margin-top:var(--header-height,150px)"></div> 16 @{ <text>@{RenderTitle();}</text> } 17 @foreach (var item in accordionItems) 18 { 19 <div class="accordion-item"> 20 <h2 class="accordion-header" id="heading-@Pageview.CurrentParagraph.ID-@item.Id"> 21 <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-@Pageview.CurrentParagraph.ID-@item.Id" aria-expanded="false" aria-controls="collapse-@Pageview.CurrentParagraph.ID-@item.Id"> 22 @item.GetString("Title") 23 </button> 24 </h2> 25 <div id="collapse-@Pageview.CurrentParagraph.ID-@item.Id" class="accordion-collapse collapse" aria-labelledby="heading-@Pageview.CurrentParagraph.ID-@item.Id" data-bs-parent="#accordion-@Pageview.CurrentParagraph.ID"> 26 <div class="accordion-body mb-0-last-child opacity-75"> 27 @item.GetRawValueString("Content") 28 </div> 29 </div> 30 </div> 31 } 32 </div> 33 34 @functions { 35 void RenderTitle() 36 { 37 if (!string.IsNullOrEmpty(Model.Item.GetString("Title")) && !Model.Item.GetBoolean("HideTitle")) 38 { 39 string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "h2"); 40 string headingLevel = Model.Item.GetString("HeadingLevel", "h2"); 41 string headingLevelStart = $"<{headingLevel} class=\"{titleFontSize} mb-4\">"; 42 string headingLevelStop = $"</{headingLevel}>"; 43 44 @headingLevelStart 45 @Model.Item.GetString("Title") 46 @headingLevelStop 47 } 48 } 49 } 50

Be updated on the newest events

Trending

More products

By clicking 'Accept All' you consent that we may collect information about you for various purposes, including: Functionality, Statistics and Marketing