Thursday, June 04, 2026 3:29:02 AM
> show.slim
.container.window
  / Hero Section
  .text-center.mb-5
    h1.mb-3.text-primary Discover Communities & Servers
    p.lead.mb-4
      | Looking for a community or server but don't know their ID? Search by Discord server name, Discord server ID, Arma 3 server name, or IP address.

  / Search Section
  .card.bg-dark.border-secondary.mb-5
    .card-header.border-secondary
      h4.mb-0.text-light
        i.bi.bi-search.text-info.me-2
        | Search
    .card-body
      = form_with url: discover_path, method: :get, class: "row g-3 align-items-end" do |f|
        .col-md-9
          label.form-label.fw-medium.text-light Search Query
          .input-group.input-group-lg
            span.input-group-text.bg-secondary.border-secondary
              i.bi.bi-search.text-muted
            = f.text_field :q, value: params[:q],
              class: "form-control bg-dark border-secondary text-light",
              placeholder: "Discord server name, IP address, server name..."
        .col-md-3
          = f.submit "Search", class: "btn btn-primary btn-lg w-100"
            i.bi.bi-search.me-2
            | Search

  / Results Section
  - if local_assigns[:communities] || local_assigns[:servers]
    / Communities Results
    - if local_assigns[:communities]
      .card.bg-dark.border-secondary.mb-4
        .card-header.border-secondary.d-flex.align-items-center.justify-content-between
          h4.mb-0.text-light
            i.bi.bi-discord.text-primary.me-2
            | Discord Communities
          span.badge.bg-primary = communities.count

        - if communities.empty?
          .card-body.text-center.py-5
            i.bi.bi-discord.text-muted.display-4.mb-3
            h5.text-muted.mb-3 No Communities Found
            p.text-muted.mb-0 Try adjusting your search terms or check spelling
        - else
          .table-responsive
            table.table.table-hover.mb-0
              thead
                tr.border-bottom.border-secondary
                  th.w-25.py-3.text-light.bg-transparent.ps-4
                    i.bi.bi-tag.me-2
                    | Community ID
                  th.py-3.text-light.bg-transparent
                    i.bi.bi-people.me-2
                    | Name
              tbody
                - communities.each do |community|
                  tr.border-bottom.border-secondary
                    td.py-3.ps-4
                      code.text-info.fw-bold.fs-5 = community.community_id
                    td.py-3.text-light = community.community_name

    / Servers Results
    - if local_assigns[:servers]
      .card.bg-dark.border-secondary.mb-4
        .card-header.border-secondary.d-flex.align-items-center.justify-content-between
          h4.mb-0.text-light
            i.bi.bi-hdd-network.text-success.me-2
            | Arma 3 Servers
          span.badge.bg-success = servers.count

        - if servers.empty?
          .card-body.text-center.py-5
            i.bi.bi-hdd-network.text-muted.display-4.mb-3
            h5.text-muted.mb-3 No Servers Found
            p.text-muted.mb-0 Try searching by IP address or different server name
        - else
          .table-responsive
            table.table.table-hover.mb-0
              thead
                tr.border-bottom.border-secondary
                  th.w-25.py-3.text-light.bg-transparent.ps-4
                    i.bi.bi-server.me-2
                    | Server ID
                  th.py-3.text-light.bg-transparent
                    i.bi.bi-tag.me-2
                    | Name
                  th.py-3.text-light.bg-transparent
                    i.bi.bi-globe.me-2
                    | Connection
              tbody
                - servers.each do |server|
                  tr.border-bottom.border-secondary
                    td.py-3.ps-4
                      code.text-warning.fw-bold.fs-5 = server.server_id
                    td.py-3.text-light = server.server_name
                    td.py-3
                      code.text-muted.fs-5 = "#{server.server_ip}:#{server.server_port}"

  / Help Section
  .card.bg-primary.bg-opacity-10.border-primary.mt-5
    .card-header.border-primary
      h5.mb-0.text-primary
        i.bi.bi-lightbulb.me-2
        | Search Tips & Examples
    .card-body
      .row.g-4
        .col-lg-6
          h6.text-primary.mb-3
            i.bi.bi-discord.me-2
            | Discord Communities
          .card.bg-secondary.bg-opacity-10.border-secondary
            .card-body
              h6.text-light.mb-2 Search by:
              ul.small.text-muted.mb-3
                li Discord server name: <strong>"Exile Servers"</strong>
                li Discord server ID: <strong>"123456789012345678"</strong>

              h6.text-light.mb-2 Results show:
              ul.small.text-muted.mb-0
                li Community ID for use in commands
                li Full Discord server name

        .col-lg-6
          h6.text-success.mb-3
            i.bi.bi-hdd-network.me-2
            | Arma 3 Servers
          .card.bg-secondary.bg-opacity-10.border-secondary
            .card-body
              h6.text-light.mb-2 Search by:
              ul.small.text-muted.mb-3
                li Server name: <strong>"Exile Life"</strong>
                li IP address: <strong>"111.111.1.111"</strong>

              h6.text-light.mb-2 Results show:
              ul.small.text-muted.mb-0
                li Server ID for use in commands
                li Connection IP and display name

      .alert.alert-info.border-info.bg-info.bg-opacity-10.mt-4.mb-0
        .d-flex.align-items-center
          i.bi.bi-info-circle.text-info.me-3.fs-4
          div
            h6.mb-1.text-info Pro Tip
            p.mb-0.small
              | Once you find the IDs you need, you can use them with ESM commands like
              = command_usage(:servers, arguments: {community_id: "abc4"})
              |  or set up aliases in your account profile for quick access!
All opinions represented herein are my own
- © 2024 - 2026 itsthedevman
- build 4294fb2