Como colocar um botão no canto da tela?

Olá, comunidade!
Estou tentando estudar como criar um plugin no Discourse. Atualmente, estou tentando descobrir como colocar um botão no canto da tela e, ao ser clicado, lidar com a solicitação. Como posso fazer isso? É realmente básico, mas não consegui entender.

Além disso, vi em alguns plugins chamadas como includePostAttributes e decorateWidget. Onde posso ver uma lista de todos os métodos que o Discourse permite usar?

Você poderia, por favor, postar uma captura de tela de onde deseja adicionar esse botão e o que deve acontecer quando ele for clicado?

Acho que você está se referindo à API de plugins. Você pode encontrar todos os métodos dessa API — com alguns exemplos — aqui:

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/app/lib/plugin-api.js

Você também pode encontrar explicações mais detalhadas de alguns dos métodos mais populares dessa API aqui:

3 curtidas

Obrigado, vou dar uma olhada na lista de métodos.
A captura de tela:

Como você pode ver, adicionei um pequeno círculo no canto que representa o botão. O botão deve flutuar no ar (ou seja, se eu rolar para baixo, ele ainda deve permanecer no canto). A lógica que será executada ao clicar, tentarei adicionar eu mesmo, mas para deixar mais claro, atualmente estou tentando entender como ele abrirá uma caixa de alerta (apenas para prática).

O que você está procurando chama-se position: fixed e é uma propriedade CSS. Você pode ler mais sobre posicionamento CSS aqui

position: fixed faz com que o elemento permaneça na mesma posição (em relação à viewport) mesmo se você rolar para baixo.

Não tenho certeza do que você está tentando realizar aqui, mas se quiser apenas que uma caixa de alerta seja aberta ao clicar em um botão, você precisará de um ouvinte de eventos (event listener). Você pode ler mais sobre isso aqui

Há algum problema específico que você está tentando resolver e com o qual podemos ajudar?

1 curtida

Obrigado novamente pelas informações. Já estou familiarizado com tudo isso. Acredito que meu problema é não entender onde os arquivos CSS devem ficar. Tenho arquivos Ruby e JS, mas onde ficam os arquivos CSS/Sass?

Legal :+1:

Como você mencionou que já possui arquivos Ruby, estou supondo que esteja trabalhando em um plugin, certo?

Então, para responder à sua pergunta

Recomendo que você examine a estrutura de pastas de alguns de nossos plugins oficiais existentes, como este

ou este

Se você observar esses, notará que as folhas de estilo SCSS estão sempre localizadas em

_ROOT_/assets/stylesheets/

e é para lá que seus arquivos SCSS devem ir se você estiver criando um plugin.

2 curtidas