{"id":30950731,"url":"https://github.com/dkackman/theme-o-rama","last_synced_at":"2025-09-13T07:03:17.503Z","repository":{"id":313517180,"uuid":"1051669530","full_name":"dkackman/Theme-o-rama","owner":"dkackman","description":"A dynamic theme library","archived":false,"fork":false,"pushed_at":"2025-09-13T02:20:45.000Z","size":14978,"stargazers_count":2,"open_issues_count":1,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-13T07:01:27.925Z","etag":null,"topics":["dynamic","react","shadcn","tailwind","tailwindcss","theme"],"latest_commit_sha":null,"homepage":"https://dkackman.github.io/Theme-o-rama/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dkackman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-06T13:35:57.000Z","updated_at":"2025-09-11T07:56:46.000Z","dependencies_parsed_at":"2025-09-11T05:25:21.160Z","dependency_job_id":null,"html_url":"https://github.com/dkackman/Theme-o-rama","commit_stats":null,"previous_names":["dkackman/theme-o-rama"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dkackman/Theme-o-rama","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkackman%2FTheme-o-rama","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkackman%2FTheme-o-rama/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkackman%2FTheme-o-rama/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkackman%2FTheme-o-rama/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dkackman","download_url":"https://codeload.github.com/dkackman/Theme-o-rama/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkackman%2FTheme-o-rama/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274930390,"owners_count":25375718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dynamic","react","shadcn","tailwind","tailwindcss","theme"],"created_at":"2025-09-11T05:18:21.371Z","updated_at":"2025-09-13T07:03:17.488Z","avatar_url":"https://github.com/dkackman.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://www.npmjs.com/package/theme-o-rama\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/theme-o-rama.svg?sanitize=true\" alt=\"Version\"\u003e\u003c/a\u003e\n  \n# Theme-o-rama\n\nA theme development and testing environment for the Sage Chia Wallet. This repository allows you to create, test, and preview custom UI themes for the Sage wallet application.\n\nThe associated npm library is reusable.\n\n## Quick Start\n\n### Prerequisites\n\n1. **Rust** - Install via [Rustup](https://rustup.rs)\n2. **PNPM** - Install via [pnpm.io](https://pnpm.io/installation)\n3. **Tauri dependencies** - Follow [Tauri prerequisites](https://v2.tauri.app/start/prerequisites/)\n\n### Building \u0026 Running\n\n```bash\n# Install dependencies\npnpm install\n\n# Run in development mode\npnpm tauri dev\n```\n\n## Creating Custom Themes\n\nAs you create and modify your themes, you can preview them in the theme selector by running `pnpm tauri dev`. Updates will be automatically reflected in the UI when you save your changes.\n\n### Theme Structure\n\nThemes are JSON files located in `src/themes/[theme-name]/theme.json`. Each theme must include:\n\n```json\n{\n  \"name\": \"my-theme\",\n  \"displayName\": \"My Custom Theme\",\n  \"schemaVersion\": 1,\n  \"mostLike\": \"light\",\n  \"colors\": {\n    /* color definitions */\n  },\n  \"fonts\": {\n    /* font definitions */\n  },\n  \"corners\": {\n    /* border radius values */\n  },\n  \"shadows\": {\n    /* shadow definitions */\n  }\n}\n```\n\n### Required Fields\n\n- `name`: Unique identifier (lowercase, no spaces)\n- `displayName`: Human-readable name\n- `schemaVersion`: Currently `1`\n- `mostLike`: Either `\"light\"` or `\"dark\"` (affects icon selection)\n\n### Theme Inheritance\n\nThemes can inherit from other themes using the `inherits` property:\n\n```json\n{\n  \"name\": \"my-dark-theme\",\n  \"displayName\": \"My Dark Theme\",\n  \"inherits\": \"dark\",\n  \"colors\": {\n    \"primary\": \"hsl(220 70% 50%)\",\n    \"accent\": \"hsl(280 100% 70%)\"\n  }\n}\n```\n\n### Available Properties\n\n#### Colors\n\nDefine the color palette for your theme:\n\n```json\n\"colors\": {\n  \"background\": \"hsl(0 0% 100%)\",\n  \"foreground\": \"hsl(0 0% 3.9%)\",\n  \"primary\": \"hsl(0 0% 9%)\",\n  \"secondary\": \"hsl(0 0% 96.1%)\",\n  \"accent\": \"hsl(0 0% 96.1%)\",\n  \"destructive\": \"hsl(0 84.2% 60.2%)\",\n  \"card\": \"hsl(0 0% 98%)\",\n  \"popover\": \"hsl(0 0% 100%)\",\n  \"border\": \"hsl(0 0% 89.8%)\",\n  \"input\": \"hsl(0 0% 89.8%)\"\n}\n```\n\n#### Background Images\n\nAdd custom background images:\n\n```json\n{\n  \"backgroundImage\": \"background.jpg\",\n  \"backgroundSize\": \"cover\",\n  \"backgroundPosition\": \"center\",\n  \"backgroundRepeat\": \"no-repeat\"\n}\n```\n\n#### Custom Button Styles\n\nDefine custom button appearances:\n\n```json\n\"buttons\": {\n  \"default\": {\n    \"background\": \"hsl(220 70% 50%)\",\n    \"color\": \"white\",\n    \"borderRadius\": \"0.5rem\",\n    \"hover\": {\n      \"background\": \"hsl(220 70% 45%)\",\n      \"transform\": \"scale(1.02)\"\n    }\n  }\n}\n```\n\n#### Advanced Features\n\n- **Backdrop filters**: Add blur effects to cards and popovers\n- **Table customization**: Style table headers, rows, and cells\n- **Switch styling**: Customize toggle switch appearances\n- **Button style flags**: Enable special effects like shimmer or gradients\n\n### Example Themes\n\n- **Light** (`src/themes/light/`) - Clean, minimal light theme\n- **Dark** (`src/themes/dark/`) - Dark theme inheriting from light\n- **Colorful** (`src/themes/colorful/`) - Vibrant theme with background image and custom styling\n\n### Testing Your Theme\n\n1. Create your theme folder: `src/themes/my-theme/`\n2. Add `theme.json` with your theme definition\n3. Run `pnpm tauri dev` to see your theme in the theme selector\n4. Navigate to the Themes page to preview and test your theme\n\n### Theme Validation\n\nThemes are automatically validated against the schema defined in `src/themes/schema.json`. Invalid themes will show error messages in the console.\n\n## Development\n\nThis is a Tauri-based application with:\n\n- **Frontend**: React + TypeScript + Tailwind CSS\n- **Backend**: Rust with Tauri v2\n- **UI Components**: Shadcn/ui components\n\nFor more detailed development information, see the main [Sage Wallet repository](https://github.com/Chia-Network/sage-wallet).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdkackman%2Ftheme-o-rama","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdkackman%2Ftheme-o-rama","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdkackman%2Ftheme-o-rama/lists"}