Inline List Social Media

I know this has been asked before, but has anybody any idea of how to achieve an inline list of social media icon (tiled across)? I’ve folllowed @ThinhDinh tutorial but it uses a Link column of a user specific column which will not achieve what I need. Basically I have a company directory. The User column doesn’t come into play.

If you don’t want to use @ThinhDinh’s method of dynamically populating user specific values when a directory user is selected, then the only other option is to create a table that lists all of the social media links (one row per link, per user), and create a relation that links the directory user to the links table. Then you can display an inline list.

When you say “the user column doesn’t come into play”, what exactly do you mean by that?

1 Like

Thanks @Jeff_Hager. So in my setup I have companies / users (public with sign in). What I’m trying to do is have the inline list for companies profile pages. If I’m understanding @ThinhDinh’s method he uses a link for the User Profiles where as I need this to work for the company sheet. Perhaps it’s doable but when I put the link of the Social Media Page as per the tutorial nothing gets populated. I can see that this link relates to the User profile. Thanks again.

Do you have a link to his method? I’d have to see his it again, but I vaguely remember what he did. I guess the way I would do it…and maybe how he did it too, is I would first create a table with a row for each type of social media. One column would be the social media name and another column would be a user specific column to hold the url. Then there’s a few ways you could dynamically populate each link in each row. One way would be to build a template column in the directory table with each url and a delimiter…then set a column in the first row of the social media table with that template value…then populate it across all rows with a single value column…then a split column to create an array…then another single value column to pull out each array item into each row. You would also need a column to number each row, so you know which array item to grab out of the array.

Another option is to create several single relations in the directory to link a social media name to each social media row. Then use several set column actions to populate each social media row with a url when you view the directory listing.

Those are a couple of ideas off the top of my head. They mightght be more elegant ways to do it. If you can share @ThinhDinh’s post, then I can take a look and see if that’s the best way.

1 Like

Sure do Dynamically access social links in Glide - using new actions

@Jeff_Hager: It could take me months to get through that post! Thanks a million. I wondering if a html table in a template might be the best bet? I’m thinking that a responsive table might work, limiting I know and probably not the most low code solution but if it works across devices I’ll be happy.

An html table would definitely work and probably be the simplest.

But yes, it does look like @ThinhDinh is using the method of several single value columns that return the ‘whole row’ and he specifies which row by entering how many rows from the top. Setting up a single value column that returns a whole row, is kind of a shortcut that’s the same as creating a single relation column. In your case you would create the separate table like I mentioned, and then create several single value columns in the directory table to link to each row in the social media table. Then you can set up a custom action to first use a series of set column actions to set the appropriate link through the relation (single value row) to the correct row in the social media table. Then you can follow that with a show details action. That way, when you click on a business in a list, the custom action is fired and will update the links in the social media table with the links for that business before it shows the business details. Then the inline list will be updated with the correct links as you are viewing the business details. This wouldn’t have anything to do with a user profile table and should work for any user whether they are signed in or not. As long as you are filling user specific columns, then the experience will be unique for each user.

2 Likes

Many thanks @Jeff_Hager. I’ll give this a go and update the post to let you know of any issues if any!

1 Like

Ive been able to achieve this using an HTML table and a combination of ITE columns in order to show only the social media icons that actually have a link as this can differ from user to user. It has worked quite well, but was a lot of work to achieve.

4 Likes

@Joe_Gabriele this looks amazing. How did you achieve this. ITT wasn’t an obvious route for me.

I’ll send an Experimental Column your way soon.

Edit demo:

Dynamically centered based on how many social items you have, currently I support LinkedIn, Facebook, Twitter, Website.

https://glide-yes-code-generate-social-icon-list.thinhdinh.repl.co

10 Likes

Thanks @ThinhDinh. This could be a game changer! That link is going into white space I’m afraid.

1 Like

Tell me if you need more (like Instagram, TikTok etc) or if you want to change icons.

1 Like

@ThinhDinh thanks so much. Yes I was just thinking for now Insta, Facebook, Twitter, Website and if possible an email? It would save so much space for what I’m trying to achieve on the landing page.

Updated.

4 Likes

@ThinhDinh Amazing. Where can I see the code magic?

https://replit.com/@ThinhDinh/glide-yes-code-generate-social-icon-list#function.js

Here’s the original link.

5 Likes

@ThinhDinh. This is amazing! Your original solution was great but this is off the charts good! I’m sure this is a common request so hopefully you get the recognition for this!

Sorry I didn’t realise that you had provided the original link. You should charge for this code … I’d be happy to contribute or at least buy you a virtual coffee! Please take it down and get rewarded as you should be for your time!

2 Likes

By reading through the posts of this topic alone, I find it a good learning experience to see how the same result can be achieved via @Jeff_Hager 's explanation (nocode process within Glide) and via @ThinhDinh coding away (his code hosted in Replit).

@ThinhDinh

  • I don’t understand what Glide builders are supposed to do with someone else’s code in Replit. Fork it to our own Replit account? Trust that it can be used as is? Suppose you decide to change the code of your social media experimental column, or say you just decide to delete your code (same goes for @david 's columns by the way).
  • Also, do we agree that using someone else’s Experimental Column is at one’s own risk? The output of the column is as good as the code and quality assurance on the code?
3 Likes

You can just use the coder’s link and put it in the Experimental Code column to use it. Of course there must be an element of trust before putting the link in there. Glide does warn you about that.

Regarding the maintenance of it, I would always fork people’s code to my Replit account just in case they make an update and it no longer works with my use case.

I can’t say for any other people who use Replit, but I will always keep my code available to the public and forkable so anyone can see what’s in there and fork to change it themselves.

3 Likes