# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 21
# self = https://watcher.sour.is/conv/u65sl7a
Trying to sharpen up my CSS skills a bit. Planning on making this a replica of my workstation, first monitor more or less done 😁

A bit more work done. Planning to have a replica of my browser on here, and maybe(?) clickable tabs that change what webpage it's on. A lot of work, but I'm having fun! ðŸĪŠðŸ˜‚

@screem So nice!

I'm also a fan of squeezing CSS to the limit on my projects, did you do it with CSS Grid layout?

For the content in the browser you cound put an iframe and switch the url to show the pages and, if you prefer to go to the CSS route instead of JavaScript, you can have an iframe per tab and switch them by creating a tabbed interface with some radio button and using the sibling selector .tab-a:checked ~ .content-a { display: block; }.
@justamoment Thanks!

No grid at all, I manually moved the parent div and then started cooking a huge div soup.

I actually really like the iframe idea, so I'll gladly yoink that 😉 I hadn't actually considered an iframe so thank you for the idea 😁
@justamoment this little project will also be CSS only, so I won't be touching javascript with in this one, plus I don't actually know javascript at all, so would need to learn it first haha
@screem You're welcome! ðŸĪ—

I think using CSS Grids and Flexbox will help you quite a bit on the layout, you can put everything together with 60% less divs.

An advice I can give you about JavaScript is that you can consider using it in two ways, for making things interactive (the usual use) _or_ to purely construct layouts and interfaces (to simplify and split the html).

If you learn CSS well and try to use JavaScript only for the minimum interactions you need you can put together apps with little code that can possibly break and can build enterprise level web apps that will run butter smooth even on potatoes. 😎
@justamoment Hit a tad bit of an bump in the road. The tabs aren't working very well with .tab-a:checked ~ .content-a { display: block; } because (I think) the iframe has a different parent to the tabs. Might need to redesign that ðŸĪ”
@justamoment I'll either redesign or end up just manually creating a static image of a webpage without the functionality of changing tabs. Not a huge issue. I'll end up using it to display the start menu when the windows button is clicked though (already started on this).
@screem The selector ~ pick elements that are _aside_ from each other.
Here an example from w3school

Also if you use a label with a for="input-id" for the radio input you can put the tab whenever you want on the page and not care too much on the content location.

Whenever way you go with just make sure to have fun. 👍
@screem I looked for an article that explains how to do tabs with radio buttons.

Here the post
@screem I don't know how far you want to go with the Web DE thing but you might find it simpler to use :target.

<style>.select{display:none}.select:target{display:block}</style>
...
<a href="#option1">1</a> <a href="#option2">3</a> <a href="#option3">3</a>
<div id="option1" class="select">...</div>
<div id="option2" class="select">...</div>
<div id="option3" class="select">...</div>
@mckinley That's windows 98 looks fun.😄

Yeah, working with targets might be good too.

I usually avoid them since it messes up the history but if I understood @screem 's intentions he planning to make the entire desktop?

With the target you can take it further and do a map on everything like:

#start-menu
#browser_tab-1
#browser_tab-2
#program-1
#program-1_settings
#file-manager
#file-manager_download


But this works only for single view screens.

But damn.... this project is making me itching for building something fun myself. ðŸĨī
@justamoment I sure am looking to make the whole desktop with pure CSS, and will be adding a bunch more apps on the taskbar as well. I might just make all the icons open up a functional app 😉
Focusing on getting the browser done atm. I know JS would be way easier and more elegant, but I'm looking for a challenge for my CSS skills 😁

Progress on the start menu:
@screem

Wow somehow this GIF got compressed super badly...
@screem

Wow somehow this GIF got compressed super badly... but I guess it just adds to the animation of CSS 😂
@ullarah 😂 not wrong at all. Very satisfying when things just work
@ullarah This happens to me when i work on other people CSS or when i have to use some kind of CSS framework.

I now work exclusively framework-less both in my CSS and JS in all my projects.
@screem The demo looks good, the iframe seems a bit zoomed in though.

The idea of using JS to create the layout can be just a pure element.innerHTML = 'HTML' with functions to split the parts or pages easily.

It's only a way of doing things, just work the way you want. 👍
@justamoment Gotcha. Will have to explore JS at some point.

Yeah, I've kinda parked the iframe for now but I'll loop back to it. Trying to decide whether I want to use an iframe or construct static pages with CSS ðŸĪ”
@screem Maybe considering the rest of the apps you're trying to make will help in the decision.