wails/v3
Lea Anthony dd67cbefeb Perfect! I've successfully refactored the code to have a common jumplist.go file with all the shared structs and methods. This eliminates code duplication across platforms. Here's what the refactoring accomplished:
## Summary of Refactoring

### 1. **Common File** (`jumplist.go`)
- Contains all shared structs: `JumpListItemType`, `JumpListItem`, `JumpListCategory`, and `JumpList`
- Implements common methods: `AddCategory()`, `ClearCategories()`, and `Apply()`
- The `Apply()` method calls the platform-specific `applyPlatform()` method

### 2. **Platform-Specific Files**
- **Windows** (`jumplist_windows.go`): Contains only Windows-specific implementation
  - COM interface definitions and implementations
  - `CreateJumpList()` method for windowsApp
  - `applyPlatform()` method with the actual Windows jumplist logic
  
- **macOS** (`jumplist_darwin.go`): Minimal stub implementation
  - `CreateJumpList()` method for darwinApp
  - `applyPlatform()` method that returns nil (no-op)
  
- **Linux** (`jumplist_linux.go`): Minimal stub implementation
  - `CreateJumpList()` method for linuxApp
  - `applyPlatform()` method that returns nil (no-op)

### Benefits
- **No code duplication**: All common structs and logic are in one place
- **Cleaner platform files**: Platform-specific files only contain platform-specific code
- **Easier maintenance**: Changes to the API only need to be made in one place
- **Type safety**: The common interface ensures all platforms implement the required methods

The API remains exactly the same for users, but the implementation is now much cleaner and more maintainable.
2025-08-05 09:25:09 +10:00
..
cmd/wails3 Fix windows icon for about box. 2023-10-09 20:56:19 +11:00
examples ## Summary 2025-08-05 09:20:19 +10:00
internal [v3 examples/bindings] correct binding output + example 2023-10-31 17:24:00 -05:00
pkg Perfect! I've successfully refactored the code to have a common jumplist.go file with all the shared structs and methods. This eliminates code duplication across platforms. Here's what the refactoring accomplished: 2025-08-05 09:25:09 +10:00
plugins Fix example building. Update workflow 2023-10-15 10:43:39 +11:00
tasks [windows] Drag-n-drop support 2023-10-21 11:21:10 +11:00
.gitignore Fix production build 2023-09-01 22:06:43 +10:00
.prettierignore chore: add Prettier as format tool (#2689) 2023-05-30 07:40:54 +10:00
.prettierrc.yml chore: add Prettier as format tool (#2689) 2023-05-30 07:40:54 +10:00
go.mod Update go-webview2 version 2023-10-21 12:02:19 +11:00
go.sum Update go-webview2 version 2023-10-21 12:02:19 +11:00
README.md Update doc dependencies 2023-09-08 10:57:47 +10:00
Taskfile.yaml Fix build output name 2023-10-15 12:52:13 +11:00

v3 Alpha

Thanks for wanting to help out with testing/developing Wails v3! This guide will help you get started.

Getting Started

All the instructions for getting started are in the v3 documentation directory: mkdocs-website. Please read the README.md file in that directory for more information.