Feature: Link to release page instead to commits page in Firmware Info

The Firmware Version link now referes to the release page if the given hash is a tag. It referes to the commits page if it's really a hash. (Implements #778)
This commit is contained in:
Thomas Basler 2023-04-06 22:36:33 +02:00
parent a7b2d727f8
commit 477eb6cfd6
3 changed files with 11 additions and 2 deletions

View File

@ -17,7 +17,7 @@
</tr> </tr>
<tr> <tr>
<th>{{ $t('firmwareinfo.FirmwareVersion') }}</th> <th>{{ $t('firmwareinfo.FirmwareVersion') }}</th>
<td><a :href="'https://github.com/tbnobody/OpenDTU/commits/' + systemStatus.git_hash" <td><a :href="versionInfoUrl"
target="_blank" v-tooltip :title="$t('firmwareinfo.FirmwareVersionHint')"> target="_blank" v-tooltip :title="$t('firmwareinfo.FirmwareVersionHint')">
{{ systemStatus.git_hash }} {{ systemStatus.git_hash }}
</a></td> </a></td>
@ -72,6 +72,12 @@ export default defineComponent({
return timestampToString(value, true); return timestampToString(value, true);
}; };
}, },
versionInfoUrl(): string {
if (this.systemStatus.git_is_hash) {
return 'https://github.com/tbnobody/OpenDTU/commits/' + this.systemStatus.git_hash;
}
return 'https://github.com/tbnobody/OpenDTU/releases/tag/' + this.systemStatus.git_hash;
}
}, },
}); });
</script> </script>

View File

@ -9,6 +9,7 @@ export interface SystemStatus {
sdkversion: string; sdkversion: string;
config_version: string; config_version: string;
git_hash: string; git_hash: string;
git_is_hash: boolean;
resetreason_0: string; resetreason_0: string;
resetreason_1: string; resetreason_1: string;
cfgsavecount: number; cfgsavecount: number;

View File

@ -51,11 +51,13 @@ export default defineComponent({
}, },
getUpdateInfo() { getUpdateInfo() {
// If the left char is a "g" the value is the git hash (remove the "g") // If the left char is a "g" the value is the git hash (remove the "g")
this.systemDataList.git_hash = this.systemDataList.git_hash?.substring(0, 1) == 'g' ? this.systemDataList.git_hash?.substring(1) : this.systemDataList.git_hash; this.systemDataList.git_is_hash = this.systemDataList.git_hash?.substring(0, 1) == 'g';
this.systemDataList.git_hash = this.systemDataList.git_is_hash ? this.systemDataList.git_hash?.substring(1) : this.systemDataList.git_hash;
// Handle format "v0.1-5-gabcdefh" // Handle format "v0.1-5-gabcdefh"
if (this.systemDataList.git_hash.lastIndexOf("-") >= 0) { if (this.systemDataList.git_hash.lastIndexOf("-") >= 0) {
this.systemDataList.git_hash = this.systemDataList.git_hash.substring(this.systemDataList.git_hash.lastIndexOf("-") + 2) this.systemDataList.git_hash = this.systemDataList.git_hash.substring(this.systemDataList.git_hash.lastIndexOf("-") + 2)
this.systemDataList.git_is_hash = true;
} }
const fetchUrl = "https://api.github.com/repos/tbnobody/OpenDTU/compare/" const fetchUrl = "https://api.github.com/repos/tbnobody/OpenDTU/compare/"