Who we are and what we do
SWIFT works with local bicycle shops. As the shop is also a SWIFT dealer, you are guaranteed a qualitative service. You can call into him to physically check out our range before you buy. More importantly, you’ll have a better idea of what you’re buying online than if you had nothing but a photograph to go on.
Won over by the idea of a SWIFT bike? Then it’s merely up to you whether you buy it from your local bicycle shop or online from SWIFT.
‘SWIFT bikes’, the brainchild of two passionate entrepreneurs, Pascal and Christophe, is a new brand of e-bikes. With a combined experience of more than 40 years’ in the world of cycling under their belt, they decided to join forces to set a new trend in the bicycle industry. Are you up for it?
And of course, a new brand needs a new name. A name that reflects what we stand for. We believe that your bike should also really be your bike, one that’s exactly as you want it. That’s what SWIFT means. In English that is, and spelt slightly differently. But 100 % yours!
The bicycle industry is one of those sectors where little or nothing has changed for decades. The manufacturer produces the bikes, the distributor distributes them across the various countries, the bike shop is the regional outlet and the consumer ultimately ends up using the bike.
There are better ways. Especially in 2021, where digitalisation is nothing new anymore. And yet, the bicycle industry seems happy to stay back of the pack. The online sale of bikes hasn’t quite caught on yet. On the one hand, because manufacturers want to keep their sales outlets in business and on the other hand because those very sales outlets simply don’t have the time to focus on online sales. Precisely on that account, buying your bike online can prove to be more hassle than it’s worth. We believe that buying your bike online should be child’s play rather than an undertaking.
Our structure is cost-efficient at a number of levels. For starters, we don’t carry ten different models in various colours and finishes and we operate an efficient stock system, which cuts down on logistics and storage costs. That structure translates into keen prices, much to the benefit of consumers!
Once you start feeling comfortable with your riding skills, you might want to upgrade for Clipless shoes and pedals. These connect your shoe to the pedal, for a no-brainer and surefooted pedalling action.
Let's start with pedals. You have 2 types of pedals out there:
- Mountain bike pedals and road bike pedals. MTB pedals are easier to clip in and out, offer more float and you can choose between mountain bike shoes, commuting shoes or even road bike shoes.
- Road bike pedals, are a bit lighter, only have one side you can clip on, so generally take more focus and fiddling to clip in. Also, only road shoes work with road pedals. The good thing about the road pedals is the much wider contact area between shoe and pedal, offering more stability. This is evident when you stand up for a sprint.
Shoes:
- Mountain bike shoes are heavier but more comfortable. The sole also helps in walking out of the bike, offering grip and foot ergonomics similar to normal shoes.
- Commuter shoes are perhaps more comfortable than mountain bike shoes and feature a flatter sole, not as grippy in mud conditions as a mountain bike shoe would be. Some offer laces or even elastic laces to secure the shoe to the foot.
- Road shoes are a bit more bare inside to save weight. Many riders (me inclusive) invest in customizable inner soles to offer more foot arch support and overall comfort. These shoes are generally super stiff and enhance pedalling performance significantly when compared to mountain bike and commuter shoes.
When you spend more on pedals, they get lighter. All other features remain somewhat the same.
When you spend more on shoes, they might get lighter but usually is more about sole stiffness (pedalling power) and other features like dials and buckles to secure the foot.
Who we are and what we do
SWIFT works with local bicycle shops. As the shop is also a SWIFT dealer, you are guaranteed a qualitative service. You can call into him to physically check out our range before you buy. More importantly, you’ll have a better idea of what you’re buying online than if you had nothing but a photograph to go on.
Won over by the idea of a SWIFT bike? Then it’s merely up to you whether you buy it from your local bicycle shop or online from SWIFT.
‘SWIFT bikes’, the brainchild of two passionate entrepreneurs, Pascal and Christophe, is a new brand of e-bikes. With a combined experience of more than 40 years’ in the world of cycling under their belt, they decided to join forces to set a new trend in the bicycle industry. Are you up for it?
And of course, a new brand needs a new name. A name that reflects what we stand for. We believe that your bike should also really be your bike, one that’s exactly as you want it. That’s what SWIFT means. In English that is, and spelt slightly differently. But 100 % yours!
The bicycle industry is one of those sectors where little or nothing has changed for decades. The manufacturer produces the bikes, the distributor distributes them across the various countries, the bike shop is the regional outlet and the consumer ultimately ends up using the bike.
There are better ways. Especially in 2021, where digitalisation is nothing new anymore. And yet, the bicycle industry seems happy to stay back of the pack. The online sale of bikes hasn’t quite caught on yet. On the one hand, because manufacturers want to keep their sales outlets in business and on the other hand because those very sales outlets simply don’t have the time to focus on online sales. Precisely on that account, buying your bike online can prove to be more hassle than it’s worth. We believe that buying your bike online should be child’s play rather than an undertaking.
Our structure is cost-efficient at a number of levels. For starters, we don’t carry ten different models in various colours and finishes and we operate an efficient stock system, which cuts down on logistics and storage costs. That structure translates into keen prices, much to the benefit of consumers!
Once you start feeling comfortable with your riding skills, you might want to upgrade for Clipless shoes and pedals. These connect your shoe to the pedal, for a no-brainer and surefooted pedalling action.
Let's start with pedals. You have 2 types of pedals out there:
- Mountain bike pedals and road bike pedals. MTB pedals are easier to clip in and out, offer more float and you can choose between mountain bike shoes, commuting shoes or even road bike shoes.
- Road bike pedals, are a bit lighter, only have one side you can clip on, so generally take more focus and fiddling to clip in. Also, only road shoes work with road pedals. The good thing about the road pedals is the much wider contact area between shoe and pedal, offering more stability. This is evident when you stand up for a sprint.
Shoes:
- Mountain bike shoes are heavier but more comfortable. The sole also helps in walking out of the bike, offering grip and foot ergonomics similar to normal shoes.
- Commuter shoes are perhaps more comfortable than mountain bike shoes and feature a flatter sole, not as grippy in mud conditions as a mountain bike shoe would be. Some offer laces or even elastic laces to secure the shoe to the foot.
- Road shoes are a bit more bare inside to save weight. Many riders (me inclusive) invest in customizable inner soles to offer more foot arch support and overall comfort. These shoes are generally super stiff and enhance pedalling performance significantly when compared to mountain bike and commuter shoes.
When you spend more on pedals, they get lighter. All other features remain somewhat the same.
When you spend more on shoes, they might get lighter but usually is more about sole stiffness (pedalling power) and other features like dials and buckles to secure the foot.
Who we are and what we do
SWIFT works with local bicycle shops. As the shop is also a SWIFT dealer, you are guaranteed a qualitative service. You can call into him to physically check out our range before you buy. More importantly, you’ll have a better idea of what you’re buying online than if you had nothing but a photograph to go on.
Won over by the idea of a SWIFT bike? Then it’s merely up to you whether you buy it from your local bicycle shop or online from SWIFT.
‘SWIFT bikes’, the brainchild of two passionate entrepreneurs, Pascal and Christophe, is a new brand of e-bikes. With a combined experience of more than 40 years’ in the world of cycling under their belt, they decided to join forces to set a new trend in the bicycle industry. Are you up for it?
And of course, a new brand needs a new name. A name that reflects what we stand for. We believe that your bike should also really be your bike, one that’s exactly as you want it. That’s what SWIFT means. In English that is, and spelt slightly differently. But 100 % yours!
The bicycle industry is one of those sectors where little or nothing has changed for decades. The manufacturer produces the bikes, the distributor distributes them across the various countries, the bike shop is the regional outlet and the consumer ultimately ends up using the bike.
There are better ways. Especially in 2021, where digitalisation is nothing new anymore. And yet, the bicycle industry seems happy to stay back of the pack. The online sale of bikes hasn’t quite caught on yet. On the one hand, because manufacturers want to keep their sales outlets in business and on the other hand because those very sales outlets simply don’t have the time to focus on online sales. Precisely on that account, buying your bike online can prove to be more hassle than it’s worth. We believe that buying your bike online should be child’s play rather than an undertaking.
Our structure is cost-efficient at a number of levels. For starters, we don’t carry ten different models in various colours and finishes and we operate an efficient stock system, which cuts down on logistics and storage costs. That structure translates into keen prices, much to the benefit of consumers!
Once you start feeling comfortable with your riding skills, you might want to upgrade for Clipless shoes and pedals. These connect your shoe to the pedal, for a no-brainer and surefooted pedalling action.
Let's start with pedals. You have 2 types of pedals out there:
- Mountain bike pedals and road bike pedals. MTB pedals are easier to clip in and out, offer more float and you can choose between mountain bike shoes, commuting shoes or even road bike shoes.
- Road bike pedals, are a bit lighter, only have one side you can clip on, so generally take more focus and fiddling to clip in. Also, only road shoes work with road pedals. The good thing about the road pedals is the much wider contact area between shoe and pedal, offering more stability. This is evident when you stand up for a sprint.
Shoes:
- Mountain bike shoes are heavier but more comfortable. The sole also helps in walking out of the bike, offering grip and foot ergonomics similar to normal shoes.
- Commuter shoes are perhaps more comfortable than mountain bike shoes and feature a flatter sole, not as grippy in mud conditions as a mountain bike shoe would be. Some offer laces or even elastic laces to secure the shoe to the foot.
- Road shoes are a bit more bare inside to save weight. Many riders (me inclusive) invest in customizable inner soles to offer more foot arch support and overall comfort. These shoes are generally super stiff and enhance pedalling performance significantly when compared to mountain bike and commuter shoes.
When you spend more on pedals, they get lighter. All other features remain somewhat the same.
When you spend more on shoes, they might get lighter but usually is more about sole stiffness (pedalling power) and other features like dials and buckles to secure the foot.
Troels Pedersen
Troels Pedersen
Troels Pedersen
Troels Pedersen
Troels Pedersen
Troels Pedersen
Feature with icon
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Feature with icon
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Error executing template "Designs/Swift/Paragraph/Swift_SearchField.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_053b37a8e7774eacae5536c5726e0a5e.RenderCustomCSS(IEnumerable`1 decorations) at CompiledRazorTemplates.Dynamic.RazorEngine_053b37a8e7774eacae5536c5726e0a5e.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 @functions 4 { 5 private string RenderCustomCSS(IEnumerable<string> decorations) 6 { 7 var cssClasses = new List<string>(); 8 9 foreach (var itemId in decorations) 10 { 11 var item = Dynamicweb.Content.Services.Items.GetItem("Swift_Css", itemId); 12 item.TryGetValue("Class", out object classes); 13 14 if (classes is null) 15 { 16 continue; 17 } 18 19 var cssString = (string)classes; 20 21 if (cssString.StartsWith("[")) 22 { 23 var cssArray = Dynamicweb.Core.Converter.Deserialize<string[]>(cssString); 24 cssClasses.AddRange(cssArray); 25 } 26 else 27 { 28 cssClasses.Add(cssString.Replace(",", " ")); 29 } 30 } 31 32 return string.Join(" ", cssClasses).Trim(); 33 } 34 } 35 36 @{ 37 string rootPage = $"Default.aspx?ID={GetPageIdByNavigationTag("Shop")}"; 38 rootPage = GetPageIdByNavigationTag("Shop") == 0 ? $"Default.aspx?ID={GetPageIdByNavigationTag("ContentSearch")}" : rootPage; 39 rootPage = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(rootPage); 40 41 string layout = Model.Item.GetRawValueString("Layout", "field"); 42 string horizontalAlign = !string.IsNullOrEmpty(Model.Item.GetRawValueString("HorizontalAlignment")) ? " justify-content-" + Model.Item.GetRawValueString("HorizontalAlignment") : ""; 43 string paragraphId = Model.ID.ToString(); 44 45 var decorations = Model.Item?.GetList("CssDecorations")?.GetRawValue().OfType<string>() ?? Enumerable.Empty<string>(); 46 string css = RenderCustomCSS(decorations); 47 48 string searchLayout = Model.Item.GetRawValueString("Layout", ""); 49 searchLayout = searchLayout == "icon" ? "nav-wrapper" : searchLayout; 50 51 string size = layout == "field" || layout == "icon" ? "normal" : "small"; 52 string width = size == "small" ? "style=\"width: 260px\"" : "style=\"width: 100%\""; 53 54 string iconPath = "/Files/Templates/Designs/Swift/Assets/icons/"; 55 56 string searchTerm = string.Empty; 57 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["q"])) 58 { 59 searchTerm = System.Net.WebUtility.HtmlEncode(Dynamicweb.Context.Current.Request["q"]); 60 61 } 62 string groupIdQueryParameter = string.Empty; 63 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["GroupID"])) 64 { 65 groupIdQueryParameter = "&GroupID=" + System.Net.WebUtility.HtmlEncode(Dynamicweb.Context.Current.Request["GroupID"]).Trim(); 66 } 67 } 68 69 <div class="d-flex align-items-center h-100 my-auto search-modal @searchLayout@(horizontalAlign) @(css) item_@Model.Item.SystemName.ToLower()"> 70 @if (layout != "icon") 71 { 72 <div class="js-async-fetch-placeholder" @width> 73 <div class="dropdown js-type-ahead-dropdown type-ahead-dropdown"> 74 <form method="get" 75 action="@rootPage" 76 data-search-results-page="@(Model.Item?.GetLink("SearchResultsPage")?.PageId)" 77 data-product-details-page="@rootPage" 78 data-product-list-page="@rootPage" 79 data-search-layout="@(layout)" 80 class="js-suggest-form suggest-form"> 81 82 <input type="hidden" class="js-type-ahead-parameter"> 83 <input type="hidden" name="redirect" value="false"> 84 <input type="hidden" name="SearchLayout" value="@(layout)"> 85 86 <label for="searchField_@paragraphId" class="visually-hidden">@Translate("Search here")</label> 87 88 <span class="position-absolute top-0 icon-2 px-3 d-flex align-items-center h-100 search-icon"> 89 @ReadFile(iconPath + "search.svg") 90 </span> 91 92 <input id="searchField_@paragraphId" 93 class="form-control js-type-ahead-field type-ahead-field py-2 ps-5 pe-3" 94 type="search" 95 placeholder="@Translate("Search here")" 96 autocomplete="off" 97 maxlength="255" 98 name="q" 99 value="@searchTerm" 100 data-original="@searchTerm" 101 onfocus="swift.Typeahead.init()"> 102 103 <button type="button" 104 onclick="var f = document.getElementById('searchField_@paragraphId'); f.value = ''; f.focus();" 105 class="btn h-100 icon-2 reset-search" 106 aria-label="@Translate("Clear search")" 107 style="opacity: 0; position: absolute; top: 0; right: 0; visibility: hidden;"> 108 @ReadFile(iconPath + "x.svg") 109 </button> 110 </form> 111 <ul class="dropdown-menu w-100 js-type-ahead-menu type-ahead-menu"></ul> 112 </div> 113 </div> 114 } 115 else 116 { 117 <button type="button" role="button" class="p-2 bg-transparent border-0 text-reset" data-bs-toggle="modal" data-bs-target="#searchModal_@paragraphId"> 118 <span class="icon-3" aria-hidden="true"> 119 @ReadFile(iconPath + "search.svg") 120 </span> 121 <span class="visually-hidden">@Translate("Open search modal")</span> 122 </button> 123 124 <div class="modal fade" id="searchModal_@paragraphId" tabindex="-1" data-bs-backdrop="false"> 125 <div class="modal-dialog modal-fullscreen"> 126 <div class="modal-content"> 127 <div class="modal-header justify-content-between"> 128 <h5 class="modal-title">@Translate("Search")</h5> 129 <button type="button" data-bs-dismiss="modal" class="bg-transparent border-0 p-0 text-reset"> 130 <span class="icon-3" aria-hidden="true"> 131 @ReadFile(iconPath + "x.svg") 132 </span> 133 <span class="visually-hidden">@Translate("Close search modal")</span> 134 </button> 135 </div> 136 <div class="modal-body"> 137 <div class="js-async-fetch-placeholder" @width> 138 <div class="dropdown js-type-ahead-dropdown type-ahead-dropdown"> 139 <form method="post" 140 action="@rootPage" 141 data-search-results-page="@(Model.Item?.GetLink("SearchResultsPage")?.PageId)" 142 data-product-details-page="@rootPage" 143 data-product-list-page="@rootPage" 144 data-search-layout="@(layout)" 145 class="js-suggest-form suggest-form"> 146 147 <input type="hidden" class="js-type-ahead-parameter"> 148 <input type="hidden" name="redirect" value="false"> 149 <input type="hidden" name="SearchLayout" value="@(layout)"> 150 151 <label for="searchField_@paragraphId" class="visually-hidden">@Translate("Search here")</label> 152 153 <span class="position-absolute top-0 icon-2 px-3 d-flex align-items-center h-100 search-icon"> 154 @ReadFile(iconPath + "search.svg") 155 </span> 156 157 <input id="searchField_@paragraphId" 158 class="form-control js-type-ahead-field type-ahead-field py-2 ps-5 pe-3" 159 type="search" 160 placeholder="@Translate("Search here")" 161 autocomplete="off" 162 maxlength="255" 163 name="q" 164 value="@searchTerm" 165 data-original="@searchTerm" 166 onfocus="swift.Typeahead.init()"> 167 168 <button type="button" 169 onclick="var f = document.getElementById('searchField_@paragraphId'); f.value = ''; f.focus();" 170 class="btn h-100 icon-2 reset-search" 171 aria-label="@Translate("Clear search")" 172 style="opacity: 0; position: absolute; top: 0; right: 0; visibility: hidden;"> 173 @ReadFile(iconPath + "x.svg") 174 </button> 175 </form> 176 <ul class="dropdown-menu w-100 js-type-ahead-menu type-ahead-menu"></ul> 177 </div> 178 </div> 179 </div> 180 </div> 181 </div> 182 </div> 183 } 184 </div> 185 186
Left section header subtitle
Left section header Title
Left section header subtitle
Left section header Title
Text
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam nisl massa, sollicitudin vitae augue eu, volutpat vulputate turpis. Cras porta libero magna, nec vestibulum lacus pellentesque quis.
Text
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam nisl massa, sollicitudin vitae augue eu, volutpat vulputate turpis. Cras porta libero magna, nec vestibulum lacus pellentesque quis.
SmileyWorld x H&M
Follow the smiles! H&M teams up with SmileyWorld for a summer kids’ collection.
SmileyWorld x H&M
Follow the smiles! H&M teams up with SmileyWorld for a summer kids’ collection.