Skip to content

Create static file source layout for dynamic SideStore icons #2

@nythepegasus

Description

@nythepegasus

As discussed a little bit within the Discord, an idea for an upcoming feature for SideStore 0.6.3 is the concept of dynamic app icons for SideStore. A simple idea for a "schema" layout of a source for these icons would be:

{
  "icons": {
    "Classic": [
      {
        "name": "Original",
        "url": "https://raw.githubusercontent.com/SideStore/assets/refs/heads/main/icon.png"
      }
    ],
    "Modern": [
      {
        "name": "Blue",
        "url": "https://raw.githubusercontent.com/SideStore/assets/refs/heads/main/blue.png"
      }
    ],
    "iOS 26": [
      {
        "name": "New",
        "url": "https://raw.githubusercontent.com/SideStore/assets/refs/heads/ios26/icon.png"
      }
    ]
  }
}

Some example Swift:

// let serverIcons = try? JSONDecoder().decode(ServerIcons.self, from: jsonData)

import Foundation

// MARK: - ServerIcons
struct ServerIcons: Codable {
    // MARK: - Icons
    struct Icons: Codable {
        // MARK: - Icon
        struct Icon: Codable {
            let name: String
            let url: String
        }
        
        let classic, modern, iOS26: [Icon]
        
        enum CodingKeys: String, CodingKey {
            case classic = "Classic"
            case modern = "Modern"
            case iOS26 = "iOS 26"
        }
    }
    let icons: Icons
}

We just need to ensure we agree on how to organize and name these files within this repository.

Metadata

Metadata

Labels

enhancementNew feature or requesthelp wantedExtra attention is needed

Type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions