mirror of
https://github.com/screego/server.git
synced 2025-09-26 20:21:22 +08:00
@@ -21,6 +21,7 @@ type UIConfig struct {
|
||||
User string `json:"user"`
|
||||
LoggedIn bool `json:"loggedIn"`
|
||||
Version string `json:"version"`
|
||||
RoomName string `json:"roomName"`
|
||||
CloseRoomWhenOwnerLeaves bool `json:"closeRoomWhenOwnerLeaves"`
|
||||
}
|
||||
|
||||
@@ -42,6 +43,7 @@ func Router(conf config.Config, rooms *ws.Rooms, users *auth.Users, version stri
|
||||
LoggedIn: loggedIn,
|
||||
User: user,
|
||||
Version: version,
|
||||
RoomName: rooms.RandRoomName(),
|
||||
CloseRoomWhenOwnerLeaves: conf.CloseRoomWhenOwnerLeaves,
|
||||
})
|
||||
})
|
||||
|
@@ -18,7 +18,6 @@
|
||||
"react-dom": "^18.2.0",
|
||||
"react-hotkeys-hook": "^4.4.1",
|
||||
"typescript": "~5.2.2",
|
||||
"unique-names-generator": "^4.7.1",
|
||||
"use-http": "^1.0.28",
|
||||
"vite": "^4.4.9",
|
||||
"vite-plugin-svgr": "^4.0.0",
|
||||
|
@@ -13,13 +13,12 @@ import {
|
||||
} from '@mui/material';
|
||||
import {FCreateRoom, UseRoom} from './useRoom';
|
||||
import {UIConfig} from './message';
|
||||
import {randomRoomName} from './name';
|
||||
import {getRoomFromURL} from './useRoomID';
|
||||
import {authModeToRoomMode, UseConfig} from './useConfig';
|
||||
import {LoginForm} from './LoginForm';
|
||||
|
||||
const CreateRoom = ({room, config}: Pick<UseRoom, 'room'> & {config: UIConfig}) => {
|
||||
const [id, setId] = React.useState(() => getRoomFromURL() ?? randomRoomName());
|
||||
const [id, setId] = React.useState(() => getRoomFromURL() ?? config.roomName);
|
||||
const mode = authModeToRoomMode(config.authMode, config.loggedIn);
|
||||
const [ownerLeave, setOwnerLeave] = React.useState(config.closeRoomWhenOwnerLeaves);
|
||||
const submit = () =>
|
||||
|
@@ -10,6 +10,7 @@ export interface UIConfig {
|
||||
user: string;
|
||||
loggedIn: boolean;
|
||||
version: string;
|
||||
roomName: string;
|
||||
closeRoomWhenOwnerLeaves: boolean;
|
||||
}
|
||||
|
||||
|
@@ -1,8 +0,0 @@
|
||||
import * as gen from 'unique-names-generator';
|
||||
|
||||
const roomConfig: gen.Config = {
|
||||
dictionaries: [gen.adjectives, gen.colors, gen.animals],
|
||||
length: 3,
|
||||
separator: '-',
|
||||
};
|
||||
export const randomRoomName = () => gen.uniqueNamesGenerator(roomConfig);
|
@@ -18,6 +18,7 @@ export const useConfig = (): UseConfig => {
|
||||
loggedIn: false,
|
||||
loading: true,
|
||||
version: 'unknown',
|
||||
roomName: 'unknown',
|
||||
closeRoomWhenOwnerLeaves: true,
|
||||
});
|
||||
|
||||
|
@@ -1456,11 +1456,6 @@ typescript@~5.2.2:
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78"
|
||||
integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==
|
||||
|
||||
unique-names-generator@^4.7.1:
|
||||
version "4.7.1"
|
||||
resolved "https://registry.yarnpkg.com/unique-names-generator/-/unique-names-generator-4.7.1.tgz#966407b12ba97f618928f77322cfac8c80df5597"
|
||||
integrity sha512-lMx9dX+KRmG8sq6gulYYpKWZc9RlGsgBR6aoO8Qsm3qvkSJ+3rAymr+TnV8EDMrIrwuFJ4kruzMWM/OpYzPoow==
|
||||
|
||||
update-browserslist-db@^1.0.11:
|
||||
version "1.0.13"
|
||||
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4"
|
||||
|
@@ -20,19 +20,35 @@ var adjectives = []string{
|
||||
}
|
||||
|
||||
var animals = []string{
|
||||
"Dog", "Puppy", "Turtle", "Rabbit", "Parrot", "Cat", "Kitten", "Goldfish",
|
||||
"Mouse", "Hamster", "Fish", "Cow", "Rabbit", "Duck", "Shrimp", "Pig",
|
||||
"Goat", "Crab", "Deer", "Bee", "Sheep", "Fish", "Turkey", "Dove",
|
||||
"Chicken", "Horse", "Squirrel", "Dog", "Chimpanzee", "Ox", "Lion", "Panda",
|
||||
"Walrus", "Otter", "Mouse", "Kangaroo", "Goat", "Horse", "Monkey", "Cow",
|
||||
"Koala", "Mole", "Elephant", "Leopard", "Hippopotamus", "Giraffe", "Fox",
|
||||
"Coyote", "Hedgehong", "Sheep", "Deer",
|
||||
"dog", "puppy", "turtle", "rabbit", "parrot", "cat", "kitten", "goldfish",
|
||||
"mouse", "hamster", "fish", "cow", "rabbit", "duck", "shrimp", "pig",
|
||||
"goat", "crab", "deer", "bee", "sheep", "fish", "turkey", "dove",
|
||||
"chicken", "horse", "squirrel", "dog", "chimpanzee", "ox", "lion", "panda",
|
||||
"walrus", "otter", "mouse", "kangaroo", "goat", "horse", "monkey", "cow",
|
||||
"koala", "mole", "elephant", "leopard", "hippopotamus", "giraffe", "fox",
|
||||
"coyote", "hedgehong", "sheep", "deer",
|
||||
}
|
||||
|
||||
var colors = []string{
|
||||
"amaranth", "amber", "amethyst", "apricot", "aqua", "aquamarine", "azure",
|
||||
"beige", "black", "blue", "blush", "bronze", "brown", "chocolate",
|
||||
"coffee", "copper", "coral", "crimson", "cyan", "emerald", "fuchsia",
|
||||
"gold", "gray", "green", "harlequin", "indigo", "ivory", "jade",
|
||||
"lavender", "lime", "magenta", "maroon", "moccasin", "olive", "orange",
|
||||
"peach", "pink", "plum", "purple", "red", "rose", "salmon", "sapphire",
|
||||
"scarlet", "silver", "tan", "teal", "tomato", "turquoise", "violet",
|
||||
"white", "yellow",
|
||||
}
|
||||
|
||||
func r(r *rand.Rand, l []string) string {
|
||||
return l[r.Intn(len(l)-1)]
|
||||
}
|
||||
|
||||
func NewName(s *rand.Rand) string {
|
||||
return cases.Title(language.English).String(r(s, adjectives) + " " + r(s, animals))
|
||||
func NewUserName(s *rand.Rand) string {
|
||||
title := cases.Title(language.English)
|
||||
return title.String(r(s, adjectives)) + " " + title.String(r(s, animals))
|
||||
}
|
||||
|
||||
func NewRoomName(s *rand.Rand) string {
|
||||
return r(s, adjectives) + "-" + r(s, colors) + "-" + r(s, animals)
|
||||
}
|
||||
|
@@ -52,7 +52,11 @@ type Rooms struct {
|
||||
}
|
||||
|
||||
func (r *Rooms) RandUserName() string {
|
||||
return util.NewName(r.r)
|
||||
return util.NewUserName(r.r)
|
||||
}
|
||||
|
||||
func (r *Rooms) RandRoomName() string {
|
||||
return util.NewRoomName(r.r)
|
||||
}
|
||||
|
||||
func (r *Rooms) Upgrade(w http.ResponseWriter, req *http.Request) {
|
||||
|
Reference in New Issue
Block a user