Este componente de tema simples irá alterar o ícone de compartilhamento em posts e tópicos de para . No Android, ele mudará para .
Observação: Se você usa copyLink em post_menu, provavelmente não vai querer usar este componente, pois ele copia o link do post instantaneamente no desktop, então o ícone é uma ótima opção para isso. Talvez eu devesse restringir este componente para dispositivos móveis ou manter o ícone de link original no desktop se copyLink estiver habilitado.
Para lidar com isso, adicionei uma configuração com a qual você pode desabilitar a alteração do ícone no desktop. É recomendado habilitá-la se copyLink for adicionado ao post_menu. copyLink é adicionado por padrão, então esta configuração está habilitada por padrão. Isso manterá o ícone de link padrão nos posts no desktop.
Eu gosto da ideia desse componente, mas estou um pouco pensando, como um usuário de celular da Apple, se ele realmente funciona porque a funcionalidade do ícone do sistema operacional no sistema operacional é diferente. É mais do que apenas um link ou copiar um link. Mas talvez eu esteja apenas pensando demais e dramatizando isso porque estou entediado.
Adicionei uma configuração para manter o ícone de link padrão no desktop se a cópia instantânea do link da postagem estiver ativa.
No iOS e Android, ele mudará o ícone de link padrão porque usa o painel de compartilhamento nativo. Portanto, não copiará instantaneamente o link da postagem, mas abrirá o painel de compartilhamento nativo.
No geral, ele apenas mantém o ícone de link por padrão, se ele copiar instantaneamente o link da postagem. Mas pode ser controlado com a configuração.
Recebi um aviso de depreciação para este ótimo componente de tema no console do desenvolvedor do navegador:
[THEME 57 ‘Change share icon by OS’] Aviso de Depreciação: Acessar site.mobileView ou site.desktopView durante a inicialização do site pode levar a erros e inconsistências quando a janela do navegador é redimensionada. Por favor, mova essas verificações para um componente, transformador ou callback de API que execute durante a renderização da página. [depreciado desde Discourse 3.5.0.beta9-dev] [deprecation id: discourse.static-viewport-initialization] [info: Designing for Different Devices (Viewport Size, Touch/Hover, etc.)]