Better Breadcrumbs

By Daniel Wood, 4 October 2018

breadcrumbs hero

Introduction

Breadcrumb menus are great. They tell the user a lot about where they are within a solutions hierarchy.  They also provide a really quick and easy way to navigate up/down that hierarchy if needed. In the FileMaker world, people have been making breadcrumb menus in various forms for a while, the most common implementation is that of a repeating fields, button bars, or in the case of vertical menus, a portal.

And while all of these methods are workable, they tend to have limitations when it comes to 2 aspects - the visual quality of the menu, and the ability to customise and extend the menu. So what do we mean by these?  We’ll start off by giving an example of a breadcrumb menu built using a button bar, discuss some of its limitations, and then present our alternative implementation using a tab control object.

Example file time!

Rather than wait til the end to check out the demo, we strongly recommend you download and explore the example file as you read. This will help you follow along with the content of the article and help you to understand what we are talking about.

BetterBreadcrumbs.zip

 

A typical breadcrumb menu

Here is an example of a standard breadcrumb menu. This is a location based menu, as the items in the menu are locations within the solution the user can navigate to.

Breadcrumbs 1

The user currently resides at the right-most location in the menu, and as you scan to the left you can work your way back up the navigation hierarchy all the way to home screen. These navigation elements are clickable, so the user is free to traverse back up the hierarchy to any point they wish.

Building this in FileMaker

Many peoples first instinct would be to use a button bar to design and build a breadcrumb menu. It has a number of properties that suit a breadcrumb menu:

  • Multiple segments, each could be a step in the hierarchy
  • Clickable, as each segment is essentially a button
  • You can calculate the text to appear in each segment.

But here’s the problem. Button bars are of a fixed width, and the segments within the button bar are all proportional in width to the overall width of the bar itself. So if you have a 100pt wide button bar, with 10 segments, then each segment will be 10 pts wide. If you extend the width of the bar to 200pts, then each segment grows to 20pts in width. You have no control over the width of each individual segment.

So what does this mean for us in real terms?

Breadcrumbs 2

Here is a crack at building a breadcrumb menu with a button bar. The issue we have is that each segment has a variable amount of text, yet we can only have a single width per segment. Add to this the fact that typical breadcrumb menus have a divider between each element, and you end up with a pretty average looking menu.

Breadcrumbs 3

This is what it looks like in layout mode, to further illustrate whats going on.

Now, we have seen people come up with attempts to work around this fixed width segment issue. Some involve creating button bar segments based on calculations, where the text inside each segment is padded with spaces to make it a certain width, while others involve starting off with hundreds of small segments, and programmatically removing certain segments and padding others. The simple fact is these are all complex and a real pain to work with, and you still do not achieve a really beautiful result.

What about a tab control?

What’s that, I hear you ask? A tab control? Surely a tab is the last object you’d think of to build a breadcrumb menu right? Well maybe, but the fact is tab controls are the perfect layout object for building them (short of an actual breadcrumb menu layout object!). 

The reason why tab controls are so great for this, is the simple fact that the width of each tab control name is variable in width. This means it doesn’t matter how much or how little text goes into each tab name, they won’t all end up the same width.

Breadcrumbs 4

This is a tab control, designed to look like a breadcrumb menu. Looks pretty nice doesn’t it. Notice how all of the spacing between the dividers and the items are all consistent.  So how is this done?

Breadcrumbs 5

Here is the same tab control object highlighted in layout mode.  The height of the overall object has been reduced such that there is actually no content space, it’s just the height of the tab names themselves. We aren’t going to be using this object for placing other objects in, we are only concerned with the names.

Let’s look at the tab control setup next.

Breadcrumbs 6

Interesting! What we can see here is that the odd positions in the tab control are given the names of the items in the menu. Whilst the even positions are used for dividers. This is a key concept in our technique for building the menu - odd spaces are for items, even spaces are for separators.

The above setup is kind of useless in an actual solution because it is so hard-coded. Ideally you want the menu to be dynamic, and have elements add/remove as you traverse up/down the navigation hierarchy of your solution, but at this point we’re simply showing you the building blocks for how we structure the object.

We use the “Label width + Margin of” option for tab width, this allows tabs to grow as more text is added, whilst maintaining an even spacing between items and dividers. We are using an ascii character of a right arrow for the divider.

Formatting items

You’ll note that the first three items in the menu are underlined. This is to give visual indication to the user that these are clickable. The right-most element is not underlined, suggesting that is the screen they are current on, and there is no need for them to click that link.

Visual design is achieved through conditional formatting of each individual tab control. In this very basic example, the condition for the first 3 items is simply “true” and we format them to underlined. Again in reality we want to be a bit more dynamic in our conditional formatting, which we’ll cover later.

For a navigation breadcrumb, you may actually wish to simply go with a hard-coded menu such as the one above, and just adjust its display for each layout it appears on, and indeed this may be the easiest implementation.  Other implementations may require a more soft-coded dynamic approach.

A simple example

In the example file we start off with a simple wizard example. Here we use a breadcrumb menu to indicate position in a step by step wizard.

Breadcrumbs 7

This wizard has 5 steps, and the user will work their way through the wizard, and continue to the next section by clicking a button. The menu itself is not clickable, it exists purely as a visual aid to inform the user of their progress in the wizard.

We use the tab control for display of the menu, and we are using a slide-control beneath it for the wizard itself. So, the slide control has 5 panels and each panel is named Wizard_1 through Wizard_5.

The tab control setup is as follows:

Breadcrumbs 8

Pretty simple stuff. Again odd positions for items, even positions are separators. Because the size of this wizard is known, we only need to add however many tabs are required for each step. 

Navigation through the wizard is done by running a script.  The script takes as a parameter a direction, be it forward or back. Depending on which direction, it updates the value of a global variable $$WIZARD_POSITION. We use this global variable to help us know which step of the wizard we are on.  The script then simply navigates to the next or previous slide panel.

The breadcrumb menu now has to update visually to reflect the users position also. We know the position of the user based on the number in the global variable which will be between 1 and 5.  The visual updating is done via conditional formatting, so let's take a look at that:

Breadcrumbs 9

This is really easy. What we are looking at is the conditional formatting rule for the second position “Your Details”.  We’re saying that if the user is at this position, or has gone past this position already, that it should be coloured.

Breadcrumbs 10

Here the user is on step 4 “Interests”, and so the conditional formatting of items 1 through 4 are evaluated to true, and are coloured bold and green.

For the dividers, they are irrelevant in our example, so we can either always evaluate their conditional formatting to true (and assign them some property, in this case grey colour), or you can leave them without conditional formatting, in which case they will inherit the default formatting of the tab control object.

In this example, you’ll note that the text is black, and the dividers are grey, so we have a difference in formatting of the 2 types of tabs. In the interests of simplicity, we make the default tab text colour black, and we have applied conditional formatting to all dividers, to change them to grey.

Adding action to navigation items

More often than not, you want the user to be allowed to click an item in the navigation menu and run a script accordingly. We can achieve this in tab controls by using the OnPanelSwitch object trigger.

Breadcrumbs 11

Here is the same wizard, although this time all sections can be navigated to at any point in time.

We start by altering the formatting so that all objects are underlined to begin with, indicating that they can be clicked.  The other conditional formatting properties are the same as in the previous example, if the user is on a position, or that position is to the left of where the user currently is, we make it bold and green.

If we apply an OnPanelSwitch trigger to the tab control object,  then our script will run regardless of which tab is chosen.  An important piece of information we will use in the script is the position of the tab the user has clicked. This can be found by evaluating the first value in the function Get ( TriggerTargetPanel ).

There are 2 possible situations here. Firstly, the user may have clicked a divider. Our script will still run in this instance, so we must handle this situation. Recall all even positions are dividers, so we can check whether the clicked position is even. If it is then we return a FALSE result from the script, and the divider tab is not navigated to.

The only other scenario is the user has clicked on an actual item that they can navigate to. This will be an odd number.  We must translate this number into the actual wizard position. We need to do this because of the dividers, they offset the clicked item.

To illustrate this consider clicking on “Immediate Family”. You know that this is the third position in the wizard, but it is actually the 5th position in the tab control. So we need to write a translation between the position chosen and the wizard position. It’s pretty straightforward and simply Ceiling ( $PositionClicked / 2 ).  In our example, this would be 5/2 = 2.5, and taking the ceiling of this gives us a wizard position of 3.

Now that we know the wizard position, it’s just a case of setting our location to that value, and going to that sliding panel object, all done !

You can indeed write your own script to cater for any positional click in your menu, regardless of what you are using your menu for.

Abstracting item names into a table

Often times your wizard or menu items will exist in a table as records because you need to customise them, or build different menus for different purposes. In this example we’re going to show that you can still use the breadcrumb menu in this fashion.

Breadcrumbs 12

Breadcrumbs 13

Here is a table of records, each for a different section in the breadcrumb menu, and below is the breadcrumb menu.  The 2 important bits of information in the table are the name of the item, and its position in the menu.

The beauty of using a tab control really stands out when using an abstracted menu like this. The menu will simply expand to accommodate variable lengths of text. In order for things to work smoothly there are just two things you need to be aware of:

  • Make the initial width of the tab object wide enough to cater for a worst case scenario length of menu.
  • Add enough tab control objects so that you are sure you have enough menu positions to cater for all the items that may end up in the menu.

Breadcrumbs 14

Here is the tab control setup of this abstracted menu. Wow things are really getting interesting now!  What you see there is a custom function which we have named @BREADCRUMB. It takes 2 parameters. The first is a keyword identifying which records in our wizard setup table to retrieve, and the second is the order number to retrieve. The 5 items in our table are all of type “Abstracted”, and are all numbered 1 through 5. 

Breadcrumbs 15

Here’s the custom function. It’s a simple executeSQL query where we retrieve names of items based on their type and order number, again nothing magical here just standard FileMaker.

The rest of the implementation is no different to our other examples. Conditional formatting for the items, and a script trigger for navigation.

Abstracting the formatting as well as the names

In this last example we show how you can tailor the formatting of individual items in the menu as well as their names. Now you could achieve this with conditional formatting again, but if you want a specific item to have a specific formatting you may wish to abstract this into a table of records to be based on actual items, rather than position in the menu.

This is a very similar example to the one above, with a slight exception that we have an additional field in our table containing an RGB function for the colour we want our item to be.

Breadcrumbs 16

Here is the tab control setup for this example:

Breadcrumbs 17

We have added in 9 different tabs here. In fact we add more than required in case more are needed. Because the items are abstracted to a menu, but adding more tabs, we ensure we don’t have to come back and potentially add more in future.

The other interesting thing to notice here is that we no longer are adding dividers into the even positions. It’s all just calls to a custom function called @BREADCRUMB_Formatted.  This function is identical in behaviour to the earlier one, but this function does a couple more things

  • If the order number passed through is even, it returns the divider character
  • If the order number passed through is odd, it obtains the name of that item from corresponding record.
  • It also obtains the formatting properties from the record, and applies them to the name, using the Evaluate function.
  • It also determines using the wizard position $$WIZARD_POSITION whether to format the item, or whether to not format

So in this case, we are not using conditional formatting to determine whether to format an item or not, it is entirely done within the custom function. The formatting properties we use comes from the record itself.

Breadcrumbs 18

The end result of this is that because we are only displaying text for items, we have full formatting control over how that looks using the text formatting functions. Here we are using slightly different colours for each item.

Tabs are awesome

The tab control object is just one of those cool objects that just keeps giving. We really love these breadcrumb menus and feel they have a really useful place in solutions. They can also be now made to look really professional and behave just like a breadcrumb menu should as well as being very easy to customise and format.

Example file again!

As with all of our articles we produce we like to provide a detailed example file to go along with it. It’s not enough to just read how something is done, you should be able to see it in action and explore how it works yourself. Please find attached the example file below.

Breadcrumbs.zip

Credits

We'd like to thank Greig Jackson here at Digital Fusion for coming up with this method — nice work!

Something to say? Post a comment...

Comments

  • high stakes download Link http dl highstakesweeps com 15/12/2024 4:37am (6 days ago)

    FB

  • уп икс 15/12/2024 4:03am (6 days ago)

    Hello i am kavin, its my first time to commenting anyplace, when i read this post i thought i could also make
    comment due to this good post.

  • jili.com login 15/12/2024 3:53am (6 days ago)

    jili.cⲟm login - best slot online іn thе Philippines
    better thɑn fachai slot and pg slot
    free Spins 3000+ Free Demo Slot

    searching jiliasia8.ph οn Google ߋr Bing to get free coins fⲟr play

    jili.com login

  • automaty do gier wolomin 15/12/2024 3:23am (6 days ago)

    This is really interesting, You are a very skilled blogger.
    I've joined your feed and look forward to seeking more oof your
    great post. Also, I've sgared your wweb site in my social networks!

    https://stagingsk.getitupamerica.com/index.php/community/profile/phillip99x81579/
    https://nanasnichoir.com/community/profile/chunrosenberger/
    https://pl.gravatar.com/kasynaonlinepolska
    https://www.imf1fan.com/community/profile/wilbertk7057185/
    https://urist7.ru/forum/profile/stellabogen101/
    https://www.joyasvalldor.com/self-improvement-success/najnowsze-kasyno-online-kasyno-online-w-euro/
    https://www.joyasvalldor.com/self-improvement-success/zarobki-automaty-do-gier-gry-hazardowe-maszyny-na-telefon/
    https://stagingsk.getitupamerica.com/index.php/community/profile/alfonso12288517/
    https://nmpeoplesrepublick.com/community/profile/lavonmcmann736/
    https://domitor2020.org/community/profile/qurnoah89674474/
    https://gravatar.com/freelystarstruck9f4126bf00
    https://stagingsk.getitupamerica.com/index.php/community/profile/rashadridgley97/

  • betting online 15/12/2024 2:02am (6 days ago)

    An iconic casino known for its ghost stories, $1.99 breakfast and multitude of slot poker machines is officially in foreclosure after 78 years and closing its doors for the last time.

    Tahoe Biltmore Lodge and Casino in Crystal Bay, Nevada, is expected to sell at a public auction - and the highest bidder will claim the once loved historic hotel as their own, according to SFGate.

    The property will be sold 'as-is'.  

    Tahoe Biltmore is a landmark of the idyllic Crystal Bay community - standing right near the California-Nevada state line on Lake Tahoe's north shore.

    Despite not being the most 'glamourous' casino, the property was loved by locals and others who wished to catch a little glimpse of Lake Tahoe.




    Tahoe Biltmore Lodge and Casino, in Crystal Bay, Nevada, is officially in foreclosure after 78 years and is closing its doors for the last time





    The once lively casino and hotel is survived by only darkness - chain fences and shattered windows riddling the property

    Chain link fences, plywood boards on the doors and shattered windows are now all that remain from the once lively property.

    The looming sign for the hotel on Highway 28 hangs as a silent reminder for passerby's that its abandonment has been a long time coming.

    Its doors have been closed since 2022 - remaining as an open casket for those who regularly stopped in. 

    Lake Tahoe Casino and Lodge said that it'd remain open until the end of April 2022 for a 'last hurrah'. 

    But in the middle of April, those visiting to pay homage to the final days of the legendary institution were surprised at the total disrepair and emptiness - despite demolition beginning May 1.




    The property is expected to sell at a public auction - where the highest bidder will claim the hotel as their own





    The property borders on the California-Nevada state line and lies in Crystal Bay, Nevada, on the North Shore of Lake Tahoe

    Once home of the $1.99 breakfast where late-night partiers filled the booths to enjoy breakfast dishes all through the night, Cafe Biltmore was completely shuttered even before its final viewing date.

    The bar area was empty - not a bartender in sight. 

    Blackjack, roulette and craps tables that enthralled visitors for hours were already gone.

    A security guard still in a button-down shirt with a Biltmore logo seemed to be the only evidence of human life. 

    But the property has been riddled with real estate and development problems for decades in counting, SFGate added.




    Tahoe Biltmore was once home to the legendary $1.99 breakfast that was even served throughout the night for late-night party-goers and gamblers to enjoy





    Halloween parties and live music events were a daily occurrence for the hotel

    Roger Wittenberg, inventor of the composite deck material Trex, purchased the property in 2007 for $28.4 million with promises to redevelop the hotel under an entirely new project called Boulder Bay - a 300-room hotel.

    The permit to redevelop the property was approved in 2011 and still stands today, but the property owner must be able to show that progress is being made on the intended project. 

    But a year after the permit was approved - which was in the height of the nation's financial crisis - Wittenberg ran into financial troubles and sought help from a San Francisco developer.

    'The timing just wasn't right, economically,' said Boulder Bay President and Wittenberg's daughter in 2017 of the projects stall, SFGate reported. 'And at the end of the day, that would have hurt the community.' 

    EKN Development Group, a Nevada LLC, then purchased the property for $56.8 million in 2021. 




    The fate of the once-loved hotel by locals and visitors has an unclear fate after ownership and projects changed and fell through over the years





    Roger Wittenberg, inventor of the composite deck material Trex, purchased the property in 2007 during the height of the nation's financial crisis and ran out of money for upcoming projects

    The property was expected to be redeveloped into a Waldorf Astoria - upscale and luxury hotels that reside in the world's top destinations.

    But the property owner, Newport Beach-based EKN Development, failed to fulfill on its loan last spring.

    In July of this year, a notice of trustee's sale - a recorded document that gives notice of the date, time and location of an upcoming public auction of property facing foreclosure - was filed.

    The document stated that the property was in default and would be up for auction publicly.

    More than $110 million is the remaining principal on the loan, interest, fees, charges and expenses.




    The Tahoe Biltmore said that it would remain open until April 2022 for a last 'hoorah', but locals visiting to pay homage in its final days were surprised when everything was already gone





    The hotel and casino was filled with more than 200 slot poker machines as well as tables for blackjack, roulette and craps

    The document also states nine parcels in Crystal Bay that surround the entire Tahoe Biltmore Lodge and Casino property which will be sold 'as-is' during the auction.

    The date for the auction was originally scheduled for August, but due to attempts to restructure the existing loan, the date has been postponed to October 8, SFGate added.

    A week after the initial auction date was listed in August, EKN Development posted a video to Instagram which showed a construction crew demolishing the Tahoe Biltmore site.

    Ebbie Nakhjavani, the president and CEO of EKN Development, a Nevada LLC, said in the caption: 'We are incredibly excited to continue this extraordinary project as we lay the groundwork for its next phase', SFGate added.

    And on Tuesday, a statement said that EKN is working diligently to restructure the pre-existing loan and plans to complete the process in the next three to four months.




    The Tahoe Baltimore was a historic casino and hotel that opened its doors in 1946 as a rival to Cal Neva, a hotel and casino right across the street who also met its demise in 2009





    The flying-saucer design that used to light up and catch the attention of passersby on Highway 28 is left dark and rotting

    'In the meantime, EKN is continuing to invest in the project and construction activities are continuing at the site,' Nakhjavani said.

    Yet public records show Nakhjavani is not a stranger to financial troubles.

    In 2014, he filed for Chapter 11 bankruptcy alongside EKN Development Group who  was also listed in the filing. 

    And the fate of the iconic property still remains up in the air.



    Read More

    Sin City's most salacious hotspot ends its 70-year reign on the Strip: Inside fascinating history of iconic Las Vegas casino Tropicana


    The Tahoe Baltimore was a historic casino and hotel that opened its doors in 1946.

    In more recent years, the hotel was known as the home of its familiar ghost - Mary - where people would come to experience her 'haunted presence' for themselves.

    The corridors used to be filled with people making their way to gamble or to attend events hosted by the hotel such as Halloween parties and live music performances. 

    But since the pandemic hit, locals of the area feel as though the changes happening around Tahoe have been increasingly pronounced - and they're skeptical if any of the changes favor those who live there.

    'You don't have to do much but look around to see how bad it is,' Mike Tuhey, a Tahoe native, told SFGate. 

    'You can't have only second, third and fourth homeowners mixed with people who are working remote. There's no housing; there's no opportunities. There's nothing to afford.'




    Despite the hotel not being known for its 'glitz and glamour', its history is filled with stories - including the famous ghost, Mary, who is said to live in the hotel





    The property serves as an empty grave to locals and residents who became regulars of the casino throughout the last 78 years of being open

    'It's hard as hell to live up here, to stay here,' Tuhey added. 'They need to do something for people besides put more condos up. That's not an answer.'

    The original owner and builder of the property, Joseph Blumenfeld, wanted to create an alternative to the gambling hotel and casino that resided right across the street, Cal Neva.

    But in a similar fate, Cal Neva's owners foreclosed and the property went into auction in 2009. 

    No bids were ever received, and the property sat empty for five full years. 

    In 2018, billionaire, Larry Ellison, purchased the property for $35.8 million, but sold it for an undisclosed price to a Denver-based real estate and development firm in 2023. 

    After years of vacancy, Cal Neva finally has a shimmer of hope for a future.

    But as for now, Tahoe Biltmore's future remains unclear.  


    CaliforniaNevada

    Here is my web-site :: https://gamblingonnet.com/sport-betting/

  • https://new-hotel.ru/poleznoe/kak-bashnya-oko-stala-simvolom-novogo-delovogo-rajona-moskvy/ 15/12/2024 2:02am (6 days ago)

    Панорама города с высоты Москва-Сити

    Смотровая площадка Москва-Сити – это популярная
    туристическая точка, откуда можно насладиться панорамой.

    Здесь перед вами откроется красота города.

    Особое шарм места усиливает огни ночной Москвы, что делает
    посещение незабываемым.

    Москва-Сити смотровая удивляет своим расположением.

    Высококачественное оборудование дополняют
    атмосферу. Здесь вы сможете насладиться кофе с видом.
    Кроме того, вы можете узнать историю небоскребов, что делает посещение увлекательным.


    Если вы ищете уникальный опыт, посетите Москва-Сити.
    Купить билеты можно на сайте, что обеспечит комфортный доступ.
    Смотровая площадка Москва-Сити – это идеальное место для туристов.

  • https://intensedebate.com/people/donaldyard76 15/12/2024 2:00am (6 days ago)

    Las plataformas de criptojuegos son sitios de gambling en línea que permiten a los usuarios apostar utilizando monedas digitales como Litecoin, Bitcoin o Ethereum.
    Estas novedosas plataformas están aumentando su
    atractivo en España y otros países de habla hispana debido a diversos beneficios que ofrecen.
    Una de las cualidades más llamativas de los criptocasinos es la
    facilidad de acceso. Por ejemplo, algunos sitios permiten a los usuarios iniciar sesión o crear una cuenta de forma ágil utilizando sus datos de Google.
    Además, muchos criptocasinos son compatibles con VPN, lo que proporciona una protección extra de privacidad y seguridad para los jugadores.

    Los criptocasinos suelen ofrecer una gran diversidad de opciones de juego,
    incluyendo máquinas tragaperras y otros opciones de juego tradicionales.
    La agilidad es otro factor importante, ya que estos sitios generalmente son veloces tanto en la navegación como en la funcionamiento de
    los juegos.
    En cuanto a los beneficios promocionales, los criptocasinos en España
    y Argentina ofrecen llamativos incentivos para seducir
    a nuevos jugadores. Por ejemplo, algunos casinos ofrecen premios de hasta 5000 dólares y garantizan pagos rápidos.

    Un aspecto importante a considerar es la política KYC (Know Your Customer).
    Algunos criptocasinos operan sin requisitos
    KYC, lo que significa que los usuarios pueden jugar y realizar transacciones sin necesidad de
    proporcionar datos personales exhaustivos. Sin embargo, es
    importante tener en cuenta que la falta de KYC puede suponer peligros en términos de seguridad
    y conformidad regulatoria.
    El crecimiento de los criptocasinos ha sido significativo.
    Por ejemplo, Lucky Block, una plataforma de criptocasino, logró posicionarse como referente en el sector en solo seis meses, obteniendo
    200.000 usuarios activos.
    En resumen, los criptocasinos ofrecen una alternativa de apuestas vanguardista y potencialmente más discreta para los jugadores españoles
    y de otros países hispanohablantes, combinando la excitación de los juegos de casino
    tradicionales con las ventajas de las criptomonedas.

  • lpg массаж в люберцах 15/12/2024 1:36am (6 days ago)

    Nice weblog right here! Additionally your site so much up fast!
    What host are you using? Can I am getting your affiliate hyperlink in your host?
    I desire my site loaded up as quickly as yours lol

  • https://spiraldevapps.in/ 15/12/2024 1:04am (6 days ago)

    tüm avantajlar/bonuslar ve ücretsiz/karşılıksız kazançlar olmalı/zorunlu {olmalı/kalmalı| 40 kez aktarılır.

    My blog - https://spiraldevapps.in/betwon-casino-turk-oyuncular-icin-modern-bir-oyun-deneyimi/

  • Elane 15/12/2024 12:48am (6 days ago)

    Hey very impressive blog!! Chap .. Remarkable .. Amazing .. I will bookmark your site and take the feeds additionally�I am delighted to notice so numerous constructive information here within the article, we'd similar to increase additional methods on this regard, appreciate it for distribution.

    Here is my blog post; https://activitatigradinite.ro/user/vikirut/?um_action=edit

  • webpage 15/12/2024 12:26am (6 days ago)

    I love looking through an article that can make people think.

    Also, thank you for permitting me to comment!

  • обмен крипты онлайн 14/12/2024 11:16pm (6 days ago)

    Its like you read my mind! You appear to know a lot about this,
    like you wrote the book in it or something.

    I think that you could do with a few pics to drive the message home a bit, but other than that, this is magnificent blog.
    A great read. I'll certainly be back.

  • казино леон официальный 14/12/2024 10:35pm (7 days ago)

    Thanks for sharing such a good thinking, paragraph is fastidious, thats why i
    have read it fully

  • ссылка на сайт мега 14/12/2024 10:09pm (7 days ago)

    id="firstHeading" class="firstHeading mw-first-heading">Search results

    Help









    English














    Tools



    Tools
    move to sidebar hide

    Actions





    General

  • wayranks.com 14/12/2024 9:35pm (7 days ago)

    ビットコインカジノの人気が日本で増加しています。仮想通貨ベッティングは、従来の日本のオンラインカジノ市場に変革をもたらしました。多くのプレイヤーがビットコインカジノのプライバシー保護とスピーディーな決済に惹かれています。日本語対応ビットコインカジノは、日本のギャンブラーにとってアクセスしやすく、安全な選択肢となっています。暗号資産ギャンブルサイトは、規制環境の進化に合わせて、斬新なゲーム体験を提供し続けています。これらのプラットフォームは、従来のギャンブルサイトとは一線を画し、暗号通貨の利点を最大限に活用しています。暗号資産やその他の仮想通貨を使用することで、プレイヤーはより柔軟なギャンブル体験を楽しむことができます。

  • https://trevelling365.ru/smotrovaya-ploshhadka-v-moskva-siti-lookatphotos-ru/ 14/12/2024 9:14pm (7 days ago)

    Незабываемый вид на Москву со смотровой
    площадки в Москва-Сити

    Смотровая площадка Москва-Сити –
    это популярная туристическая точка, откуда можно насладиться
    панорамой. Здесь можно увидеть столицу с высоты птичьего
    полета. Особое шарм места усиливает огни ночной Москвы, что делает
    посещение идеальным для романтиков.


    Смотровая площадка в Москва-Сити удивляет своим расположением.
    Высококачественное оборудование создают комфорт.
    Здесь вы сможете провести время в кругу близких.
    Кроме того, вы можете узнать историю небоскребов, что делает посещение еще более интересным.


    Если вы ищете уникальный опыт, загляните
    на смотровую площадку. Билеты доступны онлайн, что обеспечит комфортный
    доступ. Смотровая площадка Москва-Сити – это точка притяжения для москвичей.

  • This Article 14/12/2024 9:12pm (7 days ago)

    Eating gluten free organic granola from Nola granola delivers a healthy, savory surprise. Stuffed with ingredients like sliced tiger nuts, nutmeg and cinnamon, and granola with goji berries, it is actually a snack that sustains a healthy and balanced way of living. Whether you choose granola coconut almond or the abundant taste of dark chocolate granola, nom nom snacks have something for everyone, https://www.doodleaddicts.com/LandinfgStevenson/.

  • https://www.cucumber7.com/ 14/12/2024 7:52pm (7 days ago)

    You actually expressed this superbly!

    Also visit my web page: https://www.youtube7.com/

  • JAV 온라인 시청 서비스 14/12/2024 6:45pm (7 days ago)

    흥미로운 게시글 유용했어요. 최근 HD AV와 같은 콘텐츠를 찾는 분들이 많은데, https://avhoobang.com 모바일 AV
    과 같은 폭넓은 자료를 빠르게 시청할 수
    있는 것 같아요. 소개 덕에 알찬 정보를 얻고 갑니다!
    이후에도 이런 콘텐츠 소개 잘 부탁드립니다.

  • Alanna 14/12/2024 6:22pm (7 days ago)

    because they are compatible with all protective equipment and retain functionality longer lasting, than water-based lubricants, small amount of https://clickout.com/ will be enough for a long time and the buyer do not should painstakingly distance from a partner.

  • http://www.lexus-forum.pl/viewtopic.php?t=44436 14/12/2024 5:33pm (7 days ago)

    Attractive section of content. I simply stumbled upon your weblog and in accession capital to claim that I get in fact loved
    account your blog posts. Anyway I'll be subscribing for your augment
    and even I achievement you get admission to constantly rapidly.

  • https://greecemagazine.ru/neobychnye-fakty-o-bashne-oko-chto-skryvaet-odna-iz-samyh-vysokih-tochek-moskvy/ 14/12/2024 5:07pm (7 days ago)

    Незабываемый вид на Москву со смотровой площадки в Москва-Сити

    Панорамный этаж небоскребов Москва-Сити –
    это уникальное место, откуда открывается великолепный вид.
    Здесь вы ощутите невероятные эмоции.
    Особое шарм места усиливает огни ночной Москвы, что делает посещение незабываемым.



    Смотровая площадка в Москва-Сити удивляет своим
    расположением. Уникальный интерьер делают пребывание удобным.
    Здесь вы сможете провести время в кругу близких.
    Кроме того, для гостей предусмотрены экскурсии, что делает посещение увлекательным.


    Если вы ищете новые эмоции, загляните на
    смотровую площадку. Купить билеты можно на сайте, что позволит избежать очередей.
    Смотровая площадка Москва-Сити – это
    лучший выбор для тех, кто хочет
    увидеть Москву с новой стороны.

  • леон казино официальный 14/12/2024 5:03pm (7 days ago)

    Hey just wanted to give you a quick heads up. The text in your post seem
    to be running off the screen in Opera. I'm not sure if this is
    a formatting issue or something to do with web browser compatibility but
    I thought I'd post to let you know. The style and design look great though!
    Hope you get the problem resolved soon. Thanks

  • spinning en francais 14/12/2024 4:15pm (7 days ago)

    Content-Spinning.fr offre des outils avancés pour améliorer et optimiser votre site WordPress. Notre plugin est facile à configurer et à utiliser afin de vous aider à améliorer votre référencement.

  • https://joyrulez.com/blogs/5170/%D0%91%D0%B5%D1%81%D0%B5%D0%B4%D0%B0-%D0%BE-%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D1%85-%D1%82%D0%B8%D0%BF%D0%B0%D1%85-%D0%B1%D0%BE%D0%BD%D1%83%D1%81%D0%BD%D1%8B%D1%85-%D0%BD% 14/12/2024 3:40pm (7 days ago)

    впрочем в нашей стране работает и много международных сайтов, https://joyrulez.

    Here is my web blog https://joyrulez.com/blogs/5170/%D0%91%D0%B5%D1%81%D0%B5%D0%B4%D0%B0-%D0%BE-%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D1%85-%D1%82%D0%B8%D0%BF%D0%B0%D1%85-%D0%B1%D0%BE%D0%BD%D1%83%D1%81%D0%BD%D1%8B%D1%85-%D0%BD%D0%B0%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B2-%D1%81%D0%BB%D0%BE%D1%82%D0%B0%D1%85

RSS feed for comments on this page | RSS feed for all comments

Categories(show all)

Subscribe

Tags