Skip to content

Commit 454d836

Browse files
committed
ui update
1 parent 40c31de commit 454d836

File tree

6 files changed

+441
-102
lines changed

6 files changed

+441
-102
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
.claude/settings.local.json
2+
output/

Source/VisualPairCoding/VisualPairCoding.AvaloniaUI/App.axaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44
RequestedThemeVariant="Light">
55
<Application.Styles>
66
<FluentTheme/>
7+
<StyleInclude Source="avares://VisualPairCoding.AvaloniaUI/Styles/ModernTheme.axaml"/>
78
</Application.Styles>
89
</Application>

Source/VisualPairCoding/VisualPairCoding.AvaloniaUI/EnterNamesWindow.axaml

Lines changed: 137 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -2,76 +2,145 @@
22
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
33
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
44
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5-
mc:Ignorable="d" d:DesignWidth="548" d:DesignHeight="315"
6-
SizeToContent="WidthAndHeight"
7-
Icon="/Assets/coworkers.ico"
5+
mc:Ignorable="d" d:DesignWidth="680" d:DesignHeight="600"
6+
Width="680" Height="600"
7+
Icon="/Assets/coworkers.ico"
88
x:Class="VisualPairCoding.AvaloniaUI.EnterNamesForm"
9-
Title="VisualPairCoding">
10-
<StackPanel Background="White"
11-
HorizontalAlignment="Left"
12-
VerticalAlignment="Top">
9+
Title="Visual Pair Coding"
10+
Background="{DynamicResource BackgroundBrush}">
11+
<Grid RowDefinitions="Auto,*">
12+
<!-- Modern Menu Bar -->
13+
<Border Grid.Row="0" Background="{DynamicResource SurfaceBrush}"
14+
BorderThickness="0,0,0,1" BorderBrush="{DynamicResource BorderBrush}">
15+
<Menu>
16+
<MenuItem Header="_Session">
17+
<MenuItem Click="NewSessionClick" Header="_New" InputGesture="Ctrl+N"/>
18+
<Separator/>
19+
<MenuItem Click="LoadSessionConfiguration" Header="_Load" InputGesture="Ctrl+O"/>
20+
<MenuItem Click="SaveSessionConfiguration" Header="_Save" InputGesture="Ctrl+S"/>
21+
<MenuItem Header="Recent" x:Name="recentMenuItem">
22+
<MenuItem Header="Replace" />
23+
</MenuItem>
24+
<Separator/>
25+
<MenuItem Click="CloseWindow" Header="_Exit" InputGesture="Alt+F4"/>
26+
</MenuItem>
27+
<MenuItem Click="OpenAboutForm" Header="_Info"/>
28+
</Menu>
29+
</Border>
1330

14-
<Menu>
15-
<MenuItem Header="_Session">
16-
<MenuItem Click="NewSessionClick" Header="_New"/>
17-
<Separator/>
18-
<MenuItem Click="LoadSessionConfiguration" Header="_Load"/>
19-
<MenuItem Click="SaveSessionConfiguration" Header="_Save"/>
20-
<MenuItem Header="Recent" x:Name="recentMenuItem">
21-
<MenuItem Header="Replace" />
22-
</MenuItem>
23-
<Separator/>
24-
<MenuItem Click="CloseWindow" Header="_Exit"/>
25-
</MenuItem>
26-
<MenuItem Click="OpenAboutForm" Header="_Info"/>
27-
</Menu>
31+
<!-- Main Content Area -->
32+
<ScrollViewer Grid.Row="1" Padding="40">
33+
<StackPanel Spacing="32" MaxWidth="600">
34+
<!-- Header Section -->
35+
<StackPanel Spacing="8">
36+
<TextBlock Classes="title" Text="Visual Pair Coding" HorizontalAlignment="Center"/>
37+
<TextBlock Classes="subtitle" Text="Set up your pair programming session" HorizontalAlignment="Center"/>
38+
</StackPanel>
2839

29-
<Grid ColumnDefinitions="Auto,150,20,Auto,150" RowDefinitions="Auto,Auto,Auto,Auto,Auto" Margin="4">
30-
<TextBlock Text="Participant 1: " Grid.Row="0" Grid.Column="0" VerticalAlignment="Center"/>
31-
<TextBox x:Name="participant1" Text="Bob" Grid.Row="0" Grid.Column="1"/>
32-
33-
<TextBlock Text="Participant 2: " Grid.Row="1" Grid.Column="0" VerticalAlignment="Center"/>
34-
<TextBox x:Name="participant2" Text="Eik" Grid.Row="1" Grid.Column="1"/>
40+
<!-- Participants Card -->
41+
<Border Classes="card">
42+
<StackPanel Spacing="20">
43+
<TextBlock Text="Participants" FontSize="18" FontWeight="SemiBold"
44+
Foreground="{DynamicResource TextPrimaryBrush}"/>
45+
46+
<Grid ColumnDefinitions="*,20,*" RowDefinitions="Auto,Auto,Auto,Auto,Auto">
47+
<!-- Left Column -->
48+
<StackPanel Grid.Column="0" Spacing="16">
49+
<StackPanel Spacing="6">
50+
<TextBlock Classes="label" Text="PARTICIPANT 1"/>
51+
<TextBox Classes="modern" x:Name="participant1" Text="Bob" Watermark="Enter name..."/>
52+
</StackPanel>
53+
<StackPanel Spacing="6">
54+
<TextBlock Classes="label" Text="PARTICIPANT 2"/>
55+
<TextBox Classes="modern" x:Name="participant2" Text="Eik" Watermark="Enter name..."/>
56+
</StackPanel>
57+
<StackPanel Spacing="6">
58+
<TextBlock Classes="label" Text="PARTICIPANT 3"/>
59+
<TextBox Classes="modern" x:Name="participant3" Text="" Watermark="Enter name..."/>
60+
</StackPanel>
61+
<StackPanel Spacing="6">
62+
<TextBlock Classes="label" Text="PARTICIPANT 4"/>
63+
<TextBox Classes="modern" x:Name="participant4" Text="" Watermark="Enter name..."/>
64+
</StackPanel>
65+
<StackPanel Spacing="6">
66+
<TextBlock Classes="label" Text="PARTICIPANT 5"/>
67+
<TextBox Classes="modern" x:Name="participant5" Text="" Watermark="Enter name..."/>
68+
</StackPanel>
69+
</StackPanel>
70+
71+
<!-- Right Column -->
72+
<StackPanel Grid.Column="2" Spacing="16">
73+
<StackPanel Spacing="6">
74+
<TextBlock Classes="label" Text="PARTICIPANT 6"/>
75+
<TextBox Classes="modern" x:Name="participant6" Text="" Watermark="Enter name..."/>
76+
</StackPanel>
77+
<StackPanel Spacing="6">
78+
<TextBlock Classes="label" Text="PARTICIPANT 7"/>
79+
<TextBox Classes="modern" x:Name="participant7" Text="" Watermark="Enter name..."/>
80+
</StackPanel>
81+
<StackPanel Spacing="6">
82+
<TextBlock Classes="label" Text="PARTICIPANT 8"/>
83+
<TextBox Classes="modern" x:Name="participant8" Text="" Watermark="Enter name..."/>
84+
</StackPanel>
85+
<StackPanel Spacing="6">
86+
<TextBlock Classes="label" Text="PARTICIPANT 9"/>
87+
<TextBox Classes="modern" x:Name="participant9" Text="" Watermark="Enter name..."/>
88+
</StackPanel>
89+
<StackPanel Spacing="6">
90+
<TextBlock Classes="label" Text="PARTICIPANT 10"/>
91+
<TextBox Classes="modern" x:Name="participant10" Text="" Watermark="Enter name..."/>
92+
</StackPanel>
93+
</StackPanel>
94+
</Grid>
95+
96+
<Button Classes="modern-secondary" Click="RandomizeParticipants"
97+
HorizontalAlignment="Center">
98+
<StackPanel Orientation="Horizontal" Spacing="8">
99+
<TextBlock Text="🎲" FontSize="16"/>
100+
<TextBlock Text="Randomize Order"/>
101+
</StackPanel>
102+
</Button>
103+
</StackPanel>
104+
</Border>
35105

36-
<TextBlock Text="Participant 3: " Grid.Row="2" Grid.Column="0" VerticalAlignment="Center"/>
37-
<TextBox x:Name="participant3" Text="" Grid.Row="2" Grid.Column="1"/>
106+
<!-- Session Settings Card -->
107+
<Border Classes="card">
108+
<StackPanel Spacing="20">
109+
<TextBlock Text="Session Settings" FontSize="18" FontWeight="SemiBold"
110+
Foreground="{DynamicResource TextPrimaryBrush}"/>
111+
112+
<Grid ColumnDefinitions="*,*" RowSpacing="20">
113+
<StackPanel Grid.Column="0" Spacing="6">
114+
<TextBlock Classes="label" Text="MINUTES PER TURN" x:Name="minutesTextBlockText"/>
115+
<NumericUpDown Classes="modern" x:Name="minutesPerTurn"
116+
Maximum="30" Minimum="1" Value="7"
117+
Width="200" FormatString="0 minutes"/>
118+
</StackPanel>
119+
120+
<StackPanel Grid.Column="1" Spacing="6">
121+
<CheckBox Classes="modern" x:Name="totalDurationCheckBox"
122+
Content="Set Total Duration"
123+
IsChecked="False"
124+
Checked="TotalDurationCheckBoxChecked"
125+
Unchecked="TotalDurationCheckBoxUnchecked"/>
126+
<TimePicker Classes="modern" x:Name="timePicker"
127+
IsVisible="False" Width="200"/>
128+
</StackPanel>
129+
</Grid>
130+
</StackPanel>
131+
</Border>
38132

39-
<TextBlock Text="Participant 4: " Grid.Row="3" Grid.Column="0" VerticalAlignment="Center"/>
40-
<TextBox x:Name="participant4" Text="" Grid.Row="3" Grid.Column="1"/>
41-
42-
<TextBlock Text="Participant 5: " Grid.Row="4" Grid.Column="0" VerticalAlignment="Center"/>
43-
<TextBox x:Name="participant5" Text="" Grid.Row="4" Grid.Column="1"/>
44-
45-
<TextBlock Text="Participant 6: " Grid.Row="0" Grid.Column="3" VerticalAlignment="Center"/>
46-
<TextBox x:Name="participant6" Text="" Grid.Row="0" Grid.Column="4"/>
47-
48-
<TextBlock Text="Participant 7: " Grid.Row="1" Grid.Column="3" VerticalAlignment="Center"/>
49-
<TextBox x:Name="participant7" Text="" Grid.Row="1" Grid.Column="4"/>
50-
51-
<TextBlock Text="Participant 8: " Grid.Row="2" Grid.Column="3" VerticalAlignment="Center"/>
52-
<TextBox x:Name="participant8" Text="" Grid.Row="2" Grid.Column="4"/>
53-
54-
<TextBlock Text="Participant 9: " Grid.Row="3" Grid.Column="3" VerticalAlignment="Center"/>
55-
<TextBox x:Name="participant9" Text="" Grid.Row="3" Grid.Column="4"/>
56-
57-
<TextBlock Text="Participant 10: " Grid.Row="4" Grid.Column="3" VerticalAlignment="Center"/>
58-
<TextBox x:Name="participant10" Text="" Grid.Row="4" Grid.Column="4"/>
59-
</Grid>
60-
61-
<Separator Height="10" Background="Transparent" />
62-
63-
<Grid ColumnDefinitions="Auto,Auto, 25,Auto" RowDefinitions="Auto,Auto,Auto,Auto" Margin="4">
64-
<CheckBox x:Name="totalDurationCheckBox" Padding="5" Grid.Row="1" Grid.Column="0" Content="Total Duration" IsChecked="False" Checked="TotalDurationCheckBoxChecked" Unchecked="TotalDurationCheckBoxUnchecked"/>
65-
<TextBlock x:Name="minutesTextBlockText" Padding="1" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" IsVisible="True">Minutes per turn</TextBlock>
66-
<NumericUpDown x:Name="minutesPerTurn" Maximum="30" Minimum="1" Value="7" Width="100" Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" IsVisible="True" FormatString="0" />
67-
<TimePicker x:Name="timePicker" Grid.Row="1" Grid.Column="1" IsVisible="False"/>
68-
<Button Click="RandomizeParticipants" Grid.Row="0" Grid.Column="3" VerticalAlignment="Center">Randomize Participants</Button>
69-
</Grid>
70-
71-
<Grid ColumnDefinitions="*,Auto,Auto" RowDefinitions="Auto" Margin="4">
72-
<Button Click="StartForm" Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">Start</Button>
73-
<Button Click="CloseWindow" Grid.Row="0" Grid.Column="2" VerticalAlignment="Center">Close</Button>
74-
</Grid>
75-
</StackPanel>
76-
77-
</Window>
133+
<!-- Action Buttons -->
134+
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="16">
135+
<Button Classes="modern-primary" Click="StartForm" Width="120">
136+
<StackPanel Orientation="Horizontal" Spacing="8">
137+
<TextBlock Text="" FontSize="14"/>
138+
<TextBlock Text="Start Session"/>
139+
</StackPanel>
140+
</Button>
141+
<Button Classes="modern-secondary" Click="CloseWindow" Width="100">Cancel</Button>
142+
</StackPanel>
143+
</StackPanel>
144+
</ScrollViewer>
145+
</Grid>
146+
</Window>

0 commit comments

Comments
 (0)