From 147777207396ce38bec655e4cc6ca4d5e5b50ba2 Mon Sep 17 00:00:00 2001 From: henmohr Date: Mon, 6 Jul 2026 18:20:29 -0300 Subject: [PATCH 1/3] Add site preview --- index.html | 166 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) diff --git a/index.html b/index.html index 81e7df8..ecac557 100644 --- a/index.html +++ b/index.html @@ -47,6 +47,104 @@ .trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; font-size: 0.95rem; opacity: 0.9; } .trust span { display: flex; align-items: center; gap: 6px; } + /* Preview */ + .preview { padding: 80px 0; background: linear-gradient(180deg, #ffffff 0%, #eef6fc 100%); } + .preview-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 32px; align-items: center; margin-top: 40px; } + .preview-copy h2 { text-align: left; margin-bottom: 14px; } + .preview-copy .section-subtitle { text-align: left; margin-left: 0; margin-right: 0; margin-bottom: 24px; } + .preview-points { list-style: none; display: grid; gap: 14px; } + .preview-points li { + background: var(--nc-white); + border-radius: 14px; + padding: 14px 16px; + box-shadow: var(--shadow); + border-left: 4px solid var(--nc-blue); + } + .browser-frame { + background: #0f172a; + border-radius: 22px; + padding: 14px; + box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18); + transform: perspective(1400px) rotateY(-10deg) rotateX(4deg); + } + .browser-chrome { + display: flex; + align-items: center; + gap: 8px; + padding: 10px 12px 14px; + color: rgba(255,255,255,0.72); + font-size: 0.82rem; + } + .browser-dots { display: flex; gap: 6px; margin-right: 8px; } + .browser-dots span { width: 10px; height: 10px; border-radius: 50%; } + .browser-dots span:nth-child(1) { background: #ff5f57; } + .browser-dots span:nth-child(2) { background: #febc2e; } + .browser-dots span:nth-child(3) { background: #28c840; } + .browser-bar { + flex: 1; + background: rgba(255,255,255,0.08); + border-radius: 999px; + padding: 8px 14px; + text-align: left; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + .browser-content { + background: linear-gradient(180deg, #0b1220 0%, #111827 100%); + border-radius: 16px; + padding: 24px; + color: #e5eef8; + } + .preview-header { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 20px; } + .preview-brand { font-weight: 800; letter-spacing: 0.02em; } + .preview-pill { + background: rgba(0, 130, 201, 0.18); + color: #9bd8ff; + padding: 8px 12px; + border-radius: 999px; + font-size: 0.82rem; + font-weight: 700; + } + .preview-hero { + display: grid; + grid-template-columns: minmax(0, 1.4fr) minmax(220px, 0.9fr); + gap: 18px; + align-items: stretch; + } + .preview-panel { + background: rgba(255,255,255,0.04); + border: 1px solid rgba(255,255,255,0.08); + border-radius: 18px; + padding: 20px; + min-height: 100%; + } + .preview-panel h3 { font-size: 1.35rem; margin-bottom: 10px; } + .preview-panel p { color: rgba(229,238,248,0.82); margin-bottom: 0; } + .preview-stats { display: grid; gap: 14px; } + .preview-stat { + background: rgba(255,255,255,0.04); + border: 1px solid rgba(255,255,255,0.08); + border-radius: 16px; + padding: 14px 16px; + } + .preview-stat strong { display: block; font-size: 1.15rem; margin-bottom: 4px; color: #fff; } + .preview-cards { + margin-top: 18px; + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 14px; + } + .preview-card { + background: rgba(255,255,255,0.05); + border-radius: 14px; + padding: 14px; + min-height: 96px; + border: 1px solid rgba(255,255,255,0.08); + } + .preview-card .label { display: block; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,255,255,0.55); margin-bottom: 6px; } + .preview-card .value { font-size: 1rem; font-weight: 700; color: #fff; } + /* Solutions */ .apps { padding: 80px 0; background: var(--nc-white); } .section-title { text-align: center; font-size: 2.2rem; margin-bottom: 12px; font-weight: 700; } @@ -141,6 +239,12 @@ .hero h2 { font-size: 1.1rem; } .nav-links { display: none; } .hero-ctas { flex-direction: column; align-items: center; } + .preview-wrap { grid-template-columns: 1fr; } + .preview-copy h2 { text-align: center; } + .preview-copy .section-subtitle { text-align: center; margin-left: auto; margin-right: auto; } + .browser-frame { transform: none; } + .preview-hero { grid-template-columns: 1fr; } + .preview-cards { grid-template-columns: 1fr; } .consulting-grid { grid-template-columns: 1fr; } .contact-grid { grid-template-columns: 1fr; } .field-row { grid-template-columns: 1fr; } @@ -197,6 +301,68 @@

Ganhos claros para a operação

+
+
+
+
+

Preview do site

+

Uma prévia visual da proposta: comercial, direta e com foco em conversão para consultoria sob medida.

+
    +
  • Hierarquia clara para orçamento e contato.
  • +
  • Blocos de benefício e prova de valor antes do formulário.
  • +
  • Visual mais premium para reforçar confiança comercial.
  • +
+
+
+
+
+
https://librecode.coop
+
+
+
+
LibreCode
+
Consultoria Nextcloud
+
+
+
+

Reduza custos e acelere a adoção

+

Estratégia Nextcloud desenhada para sua operação, com escopo, implantação e suporte claros.

+
+
+ Benefício + Mais controle +
+
+ Entrega + Proposta comercial +
+
+ Canal + CRM + Formulário +
+
+
+
+
+ Diagnóstico + Escopo baseado em maturidade, risco e prioridade. +
+
+ Implementação + Caminho claro de migração e adoção. +
+
+ Contato + Formulário integrado ao SuiteCRM. +
+
+
+
+
+
+
+
+

Consultoria personalizada para sua realidade

From 525691c93e3ccc64348d5d1c1bbe77a830f33d95 Mon Sep 17 00:00:00 2001 From: henmohr Date: Mon, 6 Jul 2026 18:25:17 -0300 Subject: [PATCH 2/3] Add PR preview workflow --- .github/workflows/preview.yml | 30 ++++++++++++++++++++++++++++++ README.md | 7 ++++++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/preview.yml diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml new file mode 100644 index 0000000..504d4ba --- /dev/null +++ b/.github/workflows/preview.yml @@ -0,0 +1,30 @@ +name: Deploy PR preview + +on: + pull_request: + types: + - opened + - reopened + - synchronize + - closed + +concurrency: + group: preview-${{ github.event.pull_request.number }} + cancel-in-progress: true + +permissions: + contents: write + +jobs: + deploy-preview: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Deploy preview + uses: rossjrw/pr-preview-action@v1 + with: + source-dir: ./ + preview-branch: gh-pages + wait-for-pages-deployment: true diff --git a/README.md b/README.md index 6371eac..32574cd 100644 --- a/README.md +++ b/README.md @@ -1 +1,6 @@ -# nextcloud.librecode.coop \ No newline at end of file +# nextcloud.librecode.coop + +Preview de PRs: +- GitHub Pages precisa estar configurado para `Deploy from branch`. +- A branch de preview usada pelo workflow é `gh-pages`. +- O workflow está em [`.github/workflows/preview.yml`](/home/mohr/git/librecode/nextcloud.librecode.coop/.github/workflows/preview.yml). From cda47fbb8301c80650356b790bc5f2a29101efc4 Mon Sep 17 00:00:00 2001 From: henmohr Date: Mon, 6 Jul 2026 18:37:04 -0300 Subject: [PATCH 3/3] Grant preview comment permissions --- .github/workflows/preview.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 504d4ba..a6f2c59 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -14,6 +14,8 @@ concurrency: permissions: contents: write + issues: write + pull-requests: write jobs: deploy-preview: