Issue #37: feat(gui): replace 24h card with weekly credit donut chart
24h window возвращает н/д — карточка бесполезна.
Заменить на круговую диаграмму остатка кредитов за неделю (7d).
Реализация в Slint через Path + ArcTo:
Центр: использованные кредиты (цвет accent по уровню)
Остаток: тёмно-серый сектор (#21262d)
В центре большой текст: "45.7M" (остаток)
Под кругом: "осталось от 60M"
Ещё ниже: "сброс через 5д 23ч"
Пример Slint-кода для дуги:
Path {
stroke: accent-color;
stroke-width: 12px;
fill: transparent;
viewbox-x: -50; viewbox-y: -50;
viewbox-width: 100; viewbox-height: 100;
// arc от 0 до percent*360 градусов
MoveTo { x: 0; y: -45; }
ArcTo {
radius-x: 45; radius-y: 45;
x: ...; y: ...; // вычислить через sin/cos
large-arc: percent > 50;
}
}
Данные брать из windows[7d]: remaining_credits, limit_credits, percent, reset
zone:gui — только ui/app.slint и src/bin/vimit-gui.rs
Зависит от: нет
cargo build --features gui --locked после изменений
Issue #37: feat(gui): replace 24h card with weekly credit donut chart
24h window возвращает н/д — карточка бесполезна.
Заменить на круговую диаграмму остатка кредитов за неделю (7d).
Реализация в Slint через Path + ArcTo:
Центр: использованные кредиты (цвет accent по уровню)
Остаток: тёмно-серый сектор (#21262d)
В центре большой текст: "45.7M" (остаток)
Под кругом: "осталось от 60M"
Ещё ниже: "сброс через 5д 23ч"
Пример Slint-кода для дуги:
Path {
stroke: accent-color;
stroke-width: 12px;
fill: transparent;
viewbox-x: -50; viewbox-y: -50;
viewbox-width: 100; viewbox-height: 100;
// arc от 0 до percent*360 градусов
MoveTo { x: 0; y: -45; }
ArcTo {
radius-x: 45; radius-y: 45;
x: ...; y: ...; // вычислить через sin/cos
large-arc: percent > 50;
}
}
Данные брать из windows[7d]: remaining_credits, limit_credits, percent, reset
zone:gui — только ui/app.slint и src/bin/vimit-gui.rs
Зависит от: нет
cargo build --features gui --locked после изменений